[I,map]=imread('C:\Users\user\Desktop\实验.jpg'); noisy = imnoise(I,'gaussian',0.01); imshow(noisy,map); [M N]=size(I); F=fft2(noisy); fftshift(F); %DC组件移动到光谱中心 Dcut=100; for u=1:M for v=1:N D(u,v)=sqrt(u^2+v^2); BUTTERH(u,v)=1/(1+(sqrt(2)-1)*(D(u,v)/Dcut)^2); end end BUTTERG=BUTTERH.*F; BUTTERfiltered=ifft2(BUTTERG); subplot(2,2,1),imshow(noisy) subplot(2,2,2),imshow(BUTTERfiltered,map)。这段代码哪里出错了?
时间: 2023-06-07 13:11:57 浏览: 91
MATLAB题目.pdf
这段代码似乎没有显式出现错误,但是在计算 BUTTERH 的时候需要做一些修改。BUTTERH 的计算公式中,除数应为 (sqrt(2)-1) 而不是 1 (sqrt(2)-1),即:
BUTTERH(u,v)=1/((sqrt(2)-1)*(D(u,v)/Dcut)^2);
阅读全文