
OPENCV学习笔记-利用快速傅里叶变换实现高通滤波
发布日期:2022-01-31 02:37:39
浏览次数:23
分类:技术文章
本文共 1105 字,大约阅读时间需要 3 分钟。
OPENCV学习笔记-利用快速傅里叶变换实现高通滤波
代码
(跟着官方教程敲的↓)
import cv2import numpy as npfrom matplotlib import pyplot as pltimg = cv2.imread('leopard.jpg', 0)f = np.fft.fft2(img)# 频率为 0 的部分(直流分量)在输出图像的左上角# 如果想让它(直流分量)在输出图像的中心,我们还需要将结果沿两个方向平移fshift = np.fft.fftshift(f)# 构建振幅图magnitude_spectrum = 20*np.log(np.abs(fshift))rows, cols = img.shapecrow, ccol = int(rows/2), int(cols/2)# 将低频的信号设置为0# 一般不使用矩阵窗口,而是使用高斯窗口fshift[crow-100:crow+100, ccol-100:ccol+100] = 0# 将频域偏移,转化为时域f_ishift = np.fft.ifftshift(fshift)img_back = np.fft.ifft2(f_ishift)img_back = np.abs(img_back)plt.subplot(221), plt.imshow(img, cmap='gray')plt.title('input image'), plt.xticks([]), plt.yticks([])plt.subplot(222), plt.imshow(magnitude_spectrum, cmap='gray')plt.title('Magnitude Spectrum'), plt.xticks([]), plt.yticks([])plt.subplot(223), plt.imshow(img_back, cmap='gray')plt.title('Result Image'), plt.xticks([]), plt.yticks([])plt.subplot(224), plt.imshow(img_back)plt.title('Result in JET'), plt.xticks([]), plt.yticks([])plt.show()img_back_int = img_back.astype(np.int8)cv2.imshow('JET', img_back_int)cv2.waitKey(0)cv2.destroyAllWindows()
代码逻辑
结果
转载地址:https://blog.csdn.net/qq_20474257/article/details/90210630 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
留言是一种美德,欢迎回访!
[***.207.175.100]2023年01月12日 22时39分37秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
最新文章
PHP翻页的一个类
2019-08-18 03:37:48
第十五节--Zend引擎的发展 -- Classes and Objects in PHP5 [15]
2019-08-18 03:37:47
第十四节--命名空间 -- Classes and Objects in PHP5 [14]
2019-08-18 03:37:47
第十三节--对象串行化 -- Classes and Objects in PHP5 [13]
2019-08-18 03:37:46
第十二节--类的自动加载 -- Classes and Objects in PHP5 [12]
2019-08-18 03:37:46
第十一节--重载 -- Classes and Objects in PHP5 [11]
2019-08-18 03:37:45
第十节--抽象方法和抽象类 -- Classes and Objects in PHP5 [10]
2019-08-18 03:37:44
第九节--绑定 -- Classes and Objects in PHP5 [9]
2019-08-18 03:37:44
第八节--访问方式 -- Classes and Objects in PHP5 [8]
2019-08-18 03:37:44
第七节--类的静态成员 -- Classes and Objects in PHP5 [7]
2019-08-18 03:37:43
第六节--访问属性和方法 -- Classes and Objects in PHP5 [6]
2019-08-18 03:37:43
第五节--克隆 -- Classes and Objects in PHP5 [5]
2019-08-18 03:37:42
第四节--构造函数和析构函数 -- Classes and Objects in PHP5 [4]
2019-08-18 03:37:42
第三节--定义一个类 -- Classes and Objects in PHP5 [3]
2019-08-18 03:37:41
第二节--PHP5 的对象模型 -- Classes and Objects in PHP5 [2]
2019-08-18 03:37:41
第一节--面向对象编程 -- Classes and Objects in PHP5 [1]
2019-08-18 03:37:40
初探 PHP5 (二)
2019-08-18 03:37:40
初探 PHP5 (一)
2019-08-18 03:37:39
PHP连接MSSQL Server的类
2019-08-18 03:37:39
PHP的十个高级技巧(下)
2019-08-18 03:37:38