声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1108|回复: 2

[图像处理] 图像恢复问题请高手进来指点一下

[复制链接]
发表于 2009-5-19 10:50 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
小弟要做同态滤波复原 同态复原程序已经调试可用,但是如果先把原图像模糊一下之后再调入同态复原程序之后就会出现错误Number of array dimensions must match for binary array op
小弟一直要是因为图像进行模糊处理之后图像维数放生了变化,但是如何才能让模糊之后的图调入复原程序不出错误呢??
下面是程序
首先对图像进行模糊出处理
imori=imread('F:\matlab\toolbox\images\imdemos\girl.bmp');
psf=fspecial('motion',7,0);
I=imfilter(imori,psf,'symmetric')
J = imnoise(I,'gaussian',0,sqrt(0.000001));
figure, imshow(J)
保存模糊图像为girl1.jpg
然后将模糊图像调入复原程序
Img =imread('F:\matlab\toolbox\images\imdemos\girl1.jpg);  %读图
%Img =rgb2gray(Img);
%Img =im2uint8(Img);
[M N]=size(Img);        %得大小   
figure;
imshow(Img);            %显示图
Img=double(Img);        %转换类型   
lnImg = log(1+Img);        %取对数
FImg  = fft2(lnImg);    %傅立叶变换
P =fftshift(FImg);      %将频域原点移到图像中心  
for i=1:M
    for j=1:N  
        D(i,j)=((i-M/2)^2+(j-N/2)^2); %点(i,j)到频率平面原点的距离
    end               
end
c=0.65;        %锐化参数,可调
Do=200 ;  %一般是方差 (滤波器的高通截止频率)
H=(2.0-0.5)*(1-exp(c*(-D/(Do^2))))+0.5; %滤波器函数
hImg=FImg.*H;                                
gImg=ifft2(hImg);    %逆傅立叶变换
Y=exp(gImg);      %取指数
G=real(Y);   
figure,imshow(uint8((G)));
imwrite(G,'tt.bmp','bmp');
提示错误
Number of array dimensions must match for binary array op.

请哪位高手指点一下 我该怎么办  谢谢各位
回复
分享到:

使用道具 举报

 楼主| 发表于 2009-5-19 10:55 | 显示全部楼层
请明白的高手详细说明一下应该如何让做  小弟在此拜谢
发表于 2009-5-19 20:34 | 显示全部楼层
我用lena彩色图像试了下,在hImg=FImg.*H; 处报错,此时:
>> whos FImg H
  Name        Size                 Bytes  Class     Attributes

  FImg      256x256x3            3145728  double    complex   
  H         256x768              1572864  double

评分

1

查看全部评分

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-19 03:10 , Processed in 0.068492 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表