Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
初级会员
注册日期: 2009-06-09
帖子: 1
声望力: 0 ![]() |
![]()
I = uint8(rand(5) * 255); %模拟一幅图像
Ift = fftshift(fft2(I)); l1 = abs(Ift); %获取幅值 r1 = angle(Ift); %获取相位值 l1(1, 1) = l1(2, 3); %对幅值进行修改 l1(3, 4) = l1(1, 4); %对幅值进行修改 l2 = l1 .* cos(r1); %重构幅值 r2 = l1 .* sin(r1); %重构相位值 I2ft = complex(l2, r2); I2 = ifft2(ifftshift(I2ft)) 上面是本人的一段测试代码,想测试对fft的幅值进行修改后进行ifft所得的结果,我希望I2也应该是一幅图像,但发现I2是复数,不知是我的方法有错误,还是原本就是这样的结果,请各位不吝赐教。 |
![]() |
![]() |