傅里叶变换用(-1)^(x+y)中心化的方法不成功

moonhatred 2015-10-19 10:09:23
用matlab编程,傅里叶变换中心化用(-1)^(x+y)的方法算出来之后看傅里叶谱,没有集中到中间,能不能指导一下?下面是代码:
i=imread('rice.png');
size_i=size(i);
for a=1:size_i(1,1)
for b=1:size_i(1,2)
i(a,b)=i(a,b)*(-1)^(a+b);
end
end
ii=fft2(i);
for a=1:size_i(1,1)
for b=1:size_i(1,2)
im(a,b)=sqrt((real(ii(a,b)))^2+(imag(ii(a,b)))^2)/256^2;
end
end
figure
imshow(im)

另外,我发现最后计算im时如果不除256^2,im的图像是一片白,除256^2的原理是什么?
...全文
1732 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
火龙炎弹 2019-10-22
  • 打赏
  • 举报
回复
你试试imshow(ii,[])
kuncuan0562 2017-03-22
  • 打赏
  • 举报
回复
除以平方是为了滤波后的结果不超过你像素的范围值
moonhatred 2015-10-19
  • 打赏
  • 举报
回复

这是我做的结果,补充上,大家看一下

3,423

社区成员

发帖
与我相关
我的任务
社区描述
其他开发语言 其他开发语言
社区管理员
  • 其他开发语言社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧