在OpenCV里Numpy傅里叶变换

本文介绍了如何在OpenCV中利用Numpy进行傅里叶变换,特别适合于从Matlab代码迁移的开发者。通过实例展示,帮助理解变换过程。
摘要由CSDN通过智能技术生成

前面学习使用OpenCV里的函数实现傅里叶变换,其实Numpy里也有相应的变换,它的变换与Matlab更加接近,如果你想从matlab代码转换过来,使用它可能更加容易一些。

好吧,理论就不多说了,直接来看例子:

#python 3.7.4,opencv4.1
#蔡军生 https://blog.csdn.net/caimouse/article/details/51749579
#
import numpy as np
import cv2
from matplotlib import pyplot as plt

#读取图片
img = cv2.imread('rose1.png',cv2.IMREAD_GRAYSCALE)

f = np.fft.fft2(img)#傅里叶变换
fshift = np.fft.fftshift(f)#频点移到中心
magnitude_spectrum = 20*np.log(np.abs(fshift))

#逆变换
rows, cols = img.shape
crow,ccol = rows//2 , cols//2
fshift[crow-30:crow+31, ccol-30:ccol+31] = 0 #高通滤波
f_ishift = np.fft.ifftshift(fshift)#频点从中心移回到原点
img_b
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

caimouse

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值