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

f=imread('106_7.tif');
f=im2double(f);
[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);
g=g+n;
F=fft2(f);
G=fft2(g);
H=psf2otf(h);
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('原始图像');
figure,imshow(rc);title('降噪图像')

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('原始图像');追问

大神,这个程序通不?

追答

你的噪声方差太小了,看不出加了噪声的。程序大致通吧,用了两个去噪声的办法,得到了两幅去噪图像,但去噪效果不一定好。

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答