python3 numpy二维方法_使用Python numpy 进行二维傅里叶变换 和 图片自相关

本文介绍了如何使用Python的numpy库进行二维傅里叶变换和图像自相关函数的计算。通过fft2、ifft2、fftshift等函数,结合傅里叶变换的卷积定理,展示了计算过程,并提供了完整的代码示例。在显示傅里叶频谱图像时,需要注意使用np.log来调整数据范围。同时,文中提到了自相关与卷积的关系,并指出在计算机编程中,自相关实际上就是二维卷积。最后,对于求解自相关时,为何需要在反变换后使用fftshift,作者表示这可能是一个数学问题,实践证明这一步是必要的。
摘要由CSDN通过智能技术生成

本篇主要记录一下

使用Python numpy库 进行求解图像的FFT 以及求解图片的自相关函数

研究背景:

1)某M姓知名数学矩阵分析工具由于灯塔国的政策导致不许使用,平常在M中跑的函数需要转到Python中;

2)笔者的研究课题需要研究一个图片的自相关函数(Auto correlation)

所以使用Python实现了一下

废话结束下面是正文:

#FFT:

#使用 numpy.fft.fft2(正变换) 和numpy.fft.ifft2函数(反变换)

#与Mxxxxx一样,需要np.fft.fftshift 和np.fft.ifftshift调整(相关文章一大堆)

#(画图部分以及完整代码在下面)

f = np.fft.fft2(image)

fshift = np.fft.fftshift(f)

求图片的自相关:网上的资料较少,先给出公式:

中间的圆圈和叉的组合符号 是相关符号 使用傅里叶变换的卷积定理(相关定理) 不同的教科书叫法不同,找一本图像处理的书都有讲到 下面截取自超星阅读中 某一本数字图像处理的内容:

笔者只需要求自相关即可 所以上文中共轭相乘变成了求FT模的平方

下面是公式:

#Auto correlation:

AC = np.fft.ifft2(np.abs(f) ** 2 )

AC = np.fft.fftshift(AC)

完整代码如下&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值