基于python语言:Opencv3实例学习---傅里叶变换

2024-11-13 15:06:17

1、首先,我们基于python语言实现这里我选用了一张测试图片,直观的展示一下实验结果:

基于python语言:Opencv3实例学习---傅里叶变换基于python语言:Opencv3实例学习---傅里叶变换

2、其次,我们在py的环境中编译程序。import cv2import numpy as npfrom matplotlib import pyplot as plot##安装方式:pip install matplotlib或者conda install matplotlib(anaconda安装方式)img = cv2.imread('/home/pandamax/techfort-pycv/chapter3/test.jpg', 0)##读入图像的路径f = np.fft.fft2(img)#二维傅里叶变换#fshift = ffshift = np.fft.fftshift(f)magnitude_spectrum = 20 * np.log(np.abs(fshift))##幅度谱#置中row, cols = img.shapeprint(row,cols)crow, ccol = row / 2, cols / 2fshift[crow - 30: crow+30, ccol - 30: ccol + 30] = 0f_ishift = np.fft.ifftshift(fshift)#逆变换img_back = np.fft.ifft2(f_ishift)img_back = np.abs(img_back)#取模##绘图plot.subplot(221), plot.imshow(img, cmap = "gray")plot.title("Input"), plot.xticks([]), plot.yticks([])plot.subplot(222), plot.imshow(magnitude_spectrum, cmap = "gray")plot.title('magnitude_spectrum'), plot.xticks([]), plot.yticks([])plot.subplot(223), plot.imshow(img_back, cmap = "gray")plot.title("Input in JET"), plot.xticks([]), plot.yticks([])plot.show()

基于python语言:Opencv3实例学习---傅里叶变换

3、最后,我们看一下实验结果。其实,总的来说,对图像的傅里叶变换处理是我们理解图像所包含的意义的一种方式,从数学角度来直观理解各个像素与像素之间的关系.从而经过分析,我们可以实现其他的图像操作.

基于python语言:Opencv3实例学习---傅里叶变换
猜你喜欢