求大神帮忙给这段matlab程序加上注释,跪谢,急求!

2024-12-31 15:39:58
推荐回答(1个)
回答1:

f=imread('cameraman.tif');  % 读图

f=im2double(f); % 转化为double型数据

[r c]=size(f);%设置矩阵的行列数,图的大小

h=fspecial('gaussian',[r c],0.5); % 模糊核

g=imfilter(f,h,'circular');  % 图像模糊

a=0.1;

b=0.000000000001;

n=a+b*randn(r,c);  % 噪声,均值为0.1,方差为b^2

g=g+n;  % 模糊图像加噪声

F=fft2(f); % 清晰图像频谱

G=fft2(g);  % 加噪图像频谱

H=psf2otf(h);  % PSF->OTF

N=fft2(n);  % 噪声频谱

H2=conj(H).*H;  

N2=conj(N).*N; 

F2=conj(F).*F;

NF=N2./F2;  % 噪信比

huv=H2./(H2+NF);

tuv=(1./(H+eps)).*huv;  % 频域滤波器

RA=tuv.*G;  

ra=real(ifft2(RA));  % 降噪图像

MN=sum(sum(N2));

MF=sum(sum(F2));

sr=MN/MF;

huv=H2./(H2+sr);

tuv=(1./(H+eps)).*huv;  % 另一个频域滤波器

RC=tuv.*G;rc=real(ifft2(RC));  % 另一幅降噪图像

figure,imshow(f);title('原始图像');