Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 人工智能 > 计算机视觉/图像处理
计算机视觉/图像处理 A discussion board for Computer Vision & Digital image processing.
 
 
主题工具 显示模式
旧 2012-04-20, 21:50   #1
残月90
初级会员
 
注册日期: 2012-04-20
年龄: 34
帖子: 1
声望力: 0
残月90 正向着好的方向发展
默认 帮忙看下哪里出错了

I=imread('001.jpg');
fftimage=fftshift(fft2(double(I))); % 对条纹图像I 进行二维傅里叶变换
figure,plot(mat2gray(abs(fftimage(257,))); % 显示频谱图
arrinput = ginput; % 鼠标选取高低频之间的波谷位置?点一下?按回车
arrtemp = fftimage(257,;
[FringeMax,FringeMaxIndex] = max(arrtemp(arrinput(1,1):512));
% 得到从选取点开始向右的最大值(波峰)?并记录位置
FringeMaxIndex = round(arrinput(1,1) + FringeMaxIndex - 1);
% 得到1 级谱(基频)的波峰位置
maxvalue=max(fftimage(1,FringeMaxIndex:512));
% 取出1 级谱的位置。257 表示第257 行(中间行?谱的位置)
[m,n]=find(fftimage==maxvalue); % 取出1 级谱最大值位置
fringe_num=abs(n-m); % 确定条纹个数
sidelobe=zeros(512);
w =6; % 设定频域滤波窗口宽度?窗口为 6 个像素(根据情况改变)
sidelobe(:,n-w:n+w)=fftimage(:,n-w:n+w); % 取出窗口提取的基频分量
sidelobe_ifft=(ifft2(ifftshift(sidelobe))); % 变换基频到中心?并傅里叶反变换
sidelobe_phase=angle(sidelobe_ifft); % 得到条纹图的折叠相位(相位主值)
imshow(sidelobe_phase);


显示
??? Subscripted assignment dimension mismatch.

Error in ==> Untitled2 at 16
sidelobe(:,n-w:n+w)=fftimage(:,n-w:n+w); % 取出窗口提取的基频分量
残月90 当前离线   回复时引用此帖
 

主题工具
显示模式

发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码



所有时间均为北京时间。现在的时间是 01:02


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.