我运行下面的程序
imori=imread('F:\matlab\toolbox\images\imdemos\girl.bmp');
psf=fspecial('motion',7,0);
Img=imfilter(imori,psf,'symmetric')
%Img =rgb2gray(Img);
%Img =im2uint8(Img);
[M N]=size(Img); %得大小
figure;
imshow(Img); %显示图
Img=double(Img); %转换类型
FImg = fft2(Img)
lnImg = log(1+FImg);
for i=1:M
for j=1:N
D(i,j)=((i-M/2)^2+(j-N/2)^2); %点(i,j)到频率平面原点的距离
end
end
H=1/(pi*D)*sin(pi*D)*exp(-j*pi*D);
hImg=FImg.-H;
gImg=exp(hImg);
Y=ifft2(gImg);
G=real(Y);
figure,imshow(uint8((G)));
imwrite(G,'tt.bmp','bmp');
出现的错误是
Error using ==> mrdivide
Matrix dimensions must agree.
是怎么回事 请高手指点一下 需要怎么修改!~
小弟我最近做图像处理论文 清高手指点 不胜感激
[ 本帖最后由 ChaChing 于 2009-6-2 21:44 编辑 ] |