clear;
[X,map]=imread('E:\zhangtu.jpg');
figure(1);
set(gcf,'Position',[0,0,512,512])
set(gca,'position',[0 0 1 1])
imshow(X);
title('原始图像');
% 生成含噪图像并图示
init=2055615866;
randn('seed',init);
X=double(X);
% 添加随机噪声
XX=imnoise(X,'poisson');
figure(2) ;
set(gcf,'Position',[0,0,512,512]);
set(gca,'position',[0 0 1 1]) ;
imshow(uint8(XX));
title(' 含噪图像 ');
%用小波函数coif2对图像XX进行2层
% 分解
[c,l]=wavedec2(XX,2,'coif2');
a2 = wrcoef2('a',c,l,'coif2',2); % 重构第2层图像的近似系数
n=[1,2]; % 设置尺度向量
p=[10.28,24.08];% 设置阈值向量
nc=wthcoef2('h',c,l,n,p,'s'); %对高频小波系数进行阈值处理
% 图像的二维小波重构
X1=waverec2(nc,l,'coif2'); %图像的二维小波重构
figure(3); % 显示图像处理之后的结果
set(gcf,'Position',[0,0,512,512]);
set(gca,'position',[0 0 1 1]);
imshow(uint8(X1));
title(' 第一次消噪后的图像 ');
mc=wthcoef2('v',nc,l,n,p,'s'); %再次对高频小波系数进行阈值处理
% 图像的二维小波重构
X2=waverec2(mc,l,'coif2');
figure(4);
set(gcf,'Position',[0,0,512,512]);
set(gca,'position',[0 0 1 1]);
imshow(uint8(X2));
title(' 第二次消噪后的图像 ');
imwrite(uint8(XX),'E:\dzt.jpg');
imwrite(uint8(X2),'E:\xzt.jpg');