%源代码来自于在《MATLAB环境下基于小波变换的图像去噪》刘智clear;clc % 清理工作空间
load wbarb; % 装载原始图像
subplot(221); % 新建窗口
image(X); % 显示图像
colormap(map); % 设置色彩索引图
title('原始图像'); % 设置图像标题
axis square; % 设置显示比例,生成含噪图像并图示
init=2055615866; % 初始值
randn('seed',init); % 随机值
XX=X+8*randn(size(X)); % 添加随机噪声
subplot(222); % 新建窗口
image(XX); % 显示图像
colormap(map); % 设置色彩索引图
title('含噪图像'); % 设置图像标题
axis square; %用小波函数coif2 对图像XX 进行2 层分解
[c,l]=wavedec2(XX,2,'coif2'); % 分解
n=[1,2]; % 设置尺度向量
p=[10.28,24.08]; % 设置阈值向量,对高频小波系数进行阈值处理
%nc=wthcoef2('h',c,l,n,p,'s');
%nc=wthcoef2('v',c,l,n,p,'s');
nc=wthcoef2('d',c,l,n,p,'s');
X1=waverec2(nc,l,'coif2'); % 图像的二维小波重构
subplot(223); % 新建窗口
image(X1); % 显示图像
colormap(map); %设置色彩索引图
title('第一次消噪后的图像'); % 设置图像标题
axis square; % 设置显示比例,再次对高频小波系数进行阈值处理
%mc=wthcoef2('h',nc,l,n,p,'s');mc=wthcoef2('v',nc,l,n,p,'s');
mc=wthcoef2('d',nc,l,n,p,'s');
X2=waverec2(mc,l,'coif2'); % 图像的二维小波重构
subplot(224); % 新建窗口
image(X2); % 显示图像
colormap(map); % 设置色彩索引图
title('第二次消噪后的图像'); % 设置图像标题
axis square; % 设置显示比例