下面的matlab程序错误在哪里?怎么不运行?

问题描述:

下面的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,[ ])
1个回答 分类:综合 2014-12-08

问题解答:

我来补答
试试看下面这个函数,把这个存成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
 
 
展开全文阅读
剩余:2000
上一页:100 ,11
下一页:29