下面的matlab程序错误在哪里?怎么不运行?clearf=imread('w2.bmp');I2=imnoise(f,'salt & pepper');imshow(I2);title('噪声图像');PQ=paddedsize(size(I2));[U,V]=dftuv(PQ(1),PQ(2));D=sqrt(U.^2+V.^2);D0=0.05*PQ(2);F=fft2(f,PQ(1),PQ(2));H=exp(-

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/28 00:53:06

下面的matlab程序错误在哪里?怎么不运行?clearf=imread('w2.bmp');I2=imnoise(f,'salt & pepper');imshow(I2);title('噪声图像');PQ=paddedsize(size(I2));[U,V]=dftuv(PQ(1),PQ(2));D=sqrt(U.^2+V.^2);D0=0.05*PQ(2);F=fft2(f,PQ(1),PQ(2));H=exp(-
下面的matlab程序错误在哪里?怎么不运行?
clear
f=imread('w2.bmp');
I2=imnoise(f,'salt & pepper');
imshow(I2);title('噪声图像');
PQ=paddedsize(size(I2));
[U,V]=dftuv(PQ(1),PQ(2));
D=sqrt(U.^2+V.^2);
D0=0.05*PQ(2);
F=fft2(f,PQ(1),PQ(2));
H=exp(-(D.^2)/(2*(D0^2)));
g=dftfilt(f,H);
figure, imshow(ifftshift(H),[])
figure,imshow(log(1+abs(ifftshift(F))),[])
figure, imshow(g,[ ])

下面的matlab程序错误在哪里?怎么不运行?clearf=imread('w2.bmp');I2=imnoise(f,'salt & pepper');imshow(I2);title('噪声图像');PQ=paddedsize(size(I2));[U,V]=dftuv(PQ(1),PQ(2));D=sqrt(U.^2+V.^2);D0=0.05*PQ(2);F=fft2(f,PQ(1),PQ(2));H=exp(-
试试看下面这个函数,把这个存成paddedsize.m文件,就可以调用了
function [PQ,n]=paddedsize(AB,CD,PARAM)
n=nargin;
if nargin==1
PQ=2*AB;
elseif nargin==2 & ischar(CD);
PQ=AB+CD-1;
PQ=2*ceil( PQ/2);
elseif nargin==2
m=max(AB);
P=2^nextpow2(2*m);
P=[P,P];
elseif nargin==3
m=max([AB,CD]);
P=2^nextpow2(2*m);
PQ=[P,P];
else
error('wrong number of inputs')
end