x1=imread('lena.bmp');%读入图像的值为无符号型unit8(),进行矩阵操作前必须先转换为矩阵运算所支持的double()双精度型。
figure(1);
subplot(2,2,1)
imshow(x1);
title('原图');
%添加高斯噪声
x2=imnoise(x1,'gaussian',0.01);
x1=double(x1);
subplot(2,2,2);
imshow(x2);
title('加噪后');
x3=double(x2);
%加噪后的信噪比
SNR=10*log(sum(x1.^2)/(sum((x3-x1).^2)))
[h0,h1]=wave1(x3);
%一次分解
[h00,h01]=wave1(h0');
[h10,h11]=wave1(h1');
% %软阈值去噪
[t]=Throld(h11);
% [Sh00]=Soft(h00,t);
[Sh01]=Soft(h01,t);
[Sh10]=Soft(h10,t);
[Sh11]=Soft(h11,t);
%图像重构
[S1]=revers1(h00,Sh01);
[S2]=revers1(Sh10,Sh11);
[S3]=revers1(S1',S2');
%软阈值去噪后的信噪比
SNRS=10*log(sum(x1.^2)/(sum((S3-x1).^2)))
y2=uint8(S3);
subplot(2,2,3)
imshow(y2);
title('软阈值去噪');
%半软半硬阈值去噪
% [HSh00]=HardSoft(h00,t);
[HSh01]=HardSoft(h01,t);
[HSh10]=HardSoft(h10,t);
[HSh11]=HardSoft(h11,t);
%图像重构
[HS1]=revers1(h00,HSh01);
[HS2]=revers1(HSh10,HSh11);
[HS3]=revers1(HS1',HS2');
%半软半硬阈值去噪后的信噪比
SNRHS=10*log(sum(x1.^2)/(sum((HS3-x1).^2)))
y3=uint8(HS3);
subplot(2,2,4)
imshow(y3);
title('半软半硬阈值去噪');
% %一次小波分解图像
T1=[h00',h01';h10',h11'];
y1=uint8(T1);
figure(2);
subplot(2,2,1);
imshow(y1);
title('一次分解');
% %一次硬阈值去噪
% [Hh00]=Hard(h00,t);
[Hh01]=Hard(h01,t);
[Hh10]=Hard(h10,t);
[Hh11]=Hard(h11,t);
%图像重构
[H1]=revers1(h00,Hh01);
[H2]=revers1(Hh10,Hh11);
[H3]=revers1(H1',H2');
%一次硬阈值去噪后的信噪比
SNRH1=10*log(sum(x1.^2)/(sum((H3-x1).^2)))
y4=uint8(H3);
subplot(2,2,2);
imshow(y4);
title('一次硬阈值去噪');
%二次硬阈值去噪
%二次分解
[h20,h21]=wave1(h00);
[h200,h201]=wave1(h20');
[h210,h211]=wave1(h21');
% %二次小波分解图像
T2=[h200',h201';h210',h211'];
T3=[T2',h01';h10',h11'];
y5=uint8(T3);
subplot(2,2,3);
imshow(y5);
title('二次分解');
[t1]=Throld(h211);
% [H200]=Hard(h200,t1);
[H201]=Hard(h201,t1);
[H210]=Hard(h210,t1);
[H211]=Hard(h211,t1);
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
- 33.
- 34.
- 35.
- 36.
- 37.
- 38.
- 39.
- 40.
- 41.
- 42.
- 43.
- 44.
- 45.
- 46.
- 47.
- 48.
- 49.
- 50.
- 51.
- 52.
- 53.
- 54.
- 55.
- 56.
- 57.
- 58.
- 59.
- 60.
- 61.
- 62.
- 63.
- 64.
- 65.
- 66.
- 67.
- 68.
- 69.
- 70.
- 71.
- 72.
- 73.
- 74.
- 75.
- 76.
- 77.
- 78.
- 79.
- 80.
- 81.
- 82.
- 83.
- 84.
- 85.
- 86.
- 87.
- 88.
- 89.
- 90.
- 91.
- 92.
- 93.
- 94.
- 95.