%软阈值 硬阈值 半软阈值 巴特沃斯滤波
clc
close all
clear all
map=gray(256);
x=imread(’hzw。jpg');
x=rgb2gray(x);
subplot(2,3,1);
image(x);
colormap(map);
title(’原始图片');
axis square;
init=2055615866;
randn(’seed',init);
x1=50.*randn(size(x)); %均值为0 方差50^2
x=double(x)
nx=x+x1;
subplot(2,3,2);
image(nx);
colormap(map);
title(’加噪后的图片');
axis square;
c=num2str(c);
text(100,100,'PSNR:’);
text(300,100,c);
%硬阈值
[thr,sorh,keepapp]=ddencmp('den','wv',nx);
nx1=wdencmp(’gbl’,nx,'sym5',2,thr,'h’,keepapp);
subplot(2,3,3);
image(nx1);
title(’Ó²ãÐֵȥÔëºóͼÏñ');
axis square;
a1=psnr(nx1,x);
a1=num2str(a1);
text(100,100,’PSNR:');
text(300,100,a1);
%软阈值
nx2=wdencmp(’gbl’,nx,’sym5’,2,thr,'s’,keepapp);
subplot(2,3,4);
image(nx2);
title('ÈíãÐֵȥÔëºóͼÏñ’);
axis square;
c=psnr(nx2,x);
c=num2str(c);
text(100,100,'PSNR:');
text(300,100,c);
%半软阈值
nx3=hsoft(nx,’sym5’,2,0.5,thr);
subplot(2,3,5);
image(nx3);
title(’°ëÈíãÐֵȥÔëºóͼƬ');
axis square;
a4=psnr(nx3,x);
a4=num2str(a4);
text(100,100,'PSNR:');
text(300,100,a4);
%巴特沃斯
g=fft2(nx);
g=fftshift(g);
[m,n]=size(g);
N=3;d0=60;
n1=floor(m/2);
n2=floor(n/2);
for i=1:m
for j=1:n
d=sqrt((i—n1)^2+(j—n2)^2);
h=1/(1+(d/d0)^(2*N));
g(i,j)=h*g(i,j);
end
end
g=ifftshift(g
小波变换软硬阈值半软阈值图像去噪matlab程序 来自淘豆网m.daumloan.com转载请标明出处.