python用opencv 图像傅里叶变换


Posted in Python onJanuary 04, 2021

傅里叶变换
dft = cv.dft(np.float32(img),flags = cv.DFT_COMPLEX_OUTPUT)
傅里叶逆变换
img_back = cv.idft(f_ishift)

实验:将图像转换到频率域,低通滤波,将频率域转回到时域,显示图像

import numpy as np
import cv2 as cv
from matplotlib import pyplot as plt

img = cv.imread('d:/paojie_g.jpg',0)
rows, cols = img.shape
crow, ccol = rows//2 , cols//2

dft = cv.dft(np.float32(img),flags = cv.DFT_COMPLEX_OUTPUT)
dft_shift = np.fft.fftshift(dft)

# create a mask first, center square is 1, remaining all zeros
mask = np.zeros((rows,cols,2),np.uint8)
mask[crow-30:crow+31, ccol-30:ccol+31, :] = 1

# apply mask and inverse DFT
fshift = dft_shift*mask
f_ishift = np.fft.ifftshift(fshift)
img_back = cv.idft(f_ishift)
img_back = cv.magnitude(img_back[:,:,0],img_back[:,:,1])

plt.subplot(121),plt.imshow(img, cmap = 'gray')
plt.title('Input Image'), plt.xticks([]), plt.yticks([])
plt.subplot(122),plt.imshow(img_back, cmap = 'gray')
plt.title('Low Pass Filter'), plt.xticks([]), plt.yticks([])
plt.show()

python用opencv 图像傅里叶变换

Python 相关文章推荐
python网络编程学习笔记(六):Web客户端访问
Jun 09 Python
Python自动化运维和部署项目工具Fabric使用实例
Sep 18 Python
Python3中简单的文件操作及两个简单小实例分享
Jun 18 Python
Python判断文件和字符串编码类型的实例
Dec 21 Python
Python使用MD5加密算法对字符串进行加密操作示例
Mar 30 Python
详解Django中间件的5种自定义方法
Jul 26 Python
Win8.1下安装Python3.6提示0x80240017错误的解决方法
Jul 31 Python
详解python while 函数及while和for的区别
Sep 07 Python
对python中GUI,Label和Button的实例详解
Jun 27 Python
python next()和iter()函数原理解析
Feb 07 Python
Pycharm最常用的快捷键及使用技巧
Mar 05 Python
Python 添加文件注释和函数注释操作
Aug 09 Python
python基于opencv 实现图像时钟
Jan 04 #Python
python基于opencv实现人脸识别
Jan 04 #Python
利用python绘制正态分布曲线
Jan 04 #Python
Python 打印自己设计的字体的实例讲解
Jan 04 #Python
Python关于拓扑排序知识点讲解
Jan 04 #Python
Python经典五人分鱼实例讲解
Jan 04 #Python
Python约瑟夫生者死者小游戏实例讲解
Jan 04 #Python
You might like
无线电波是什么?它是怎样传输的?
2021/03/01 无线电
PHP模拟SQL Server的两个日期处理函数
2006/10/09 PHP
PHP 数组实例说明
2008/08/18 PHP
PHP中使用循环实现的金字塔图形
2014/11/08 PHP
thinkPHP下的widget扩展用法实例分析
2015/12/26 PHP
利用php实现一周之内自动登录存储机制(cookie、session、localStorage)
2016/10/31 PHP
Yii框架ACF(accessController)简单权限控制操作示例
2019/04/26 PHP
jQuery实现的立体文字渐变效果
2010/05/17 Javascript
js确认删除对话框效果的示例代码
2014/02/20 Javascript
代码分析jQuery四种静态方法使用
2015/07/23 Javascript
jquery实现的蓝色二级导航条效果代码
2015/08/24 Javascript
JavaScript实现下拉菜单的显示和隐藏
2016/01/05 Javascript
仅9张思维导图帮你轻松学习Javascript 就这么简单
2016/06/01 Javascript
jQuery实现拖动剪裁图片作为头像
2016/12/28 Javascript
微信小程序 缓存(本地缓存、异步缓存、同步缓存)详解
2017/01/17 Javascript
React Js 微信禁止复制链接分享禁止隐藏右上角菜单功能
2017/05/26 Javascript
区别JavaScript函数声明与变量声明
2018/09/12 Javascript
Node.js中的不安全跳转如何防御详解
2018/10/21 Javascript
JavaScript实现的鼠标跟随特效示例【2则实例】
2018/12/22 Javascript
Vuex中的Mutations的具体使用方法
2020/06/01 Javascript
javascript实现数字时钟效果
2021/02/06 Javascript
python使用post提交数据到远程url的方法
2015/04/29 Python
使用Python进行二进制文件读写的简单方法(推荐)
2016/09/12 Python
TF-IDF算法解析与Python实现方法详解
2017/11/16 Python
Python基于TCP实现会聊天的小机器人功能示例
2018/04/09 Python
python requests post多层字典的方法
2018/12/27 Python
Django Form and ModelForm的区别与使用
2019/12/06 Python
python实现IOU计算案例
2020/04/12 Python
python 多线程共享全局变量的优劣
2020/09/24 Python
Linux系统下升级pip的完整步骤
2021/01/31 Python
利用CSS3的3D效果制作正方体
2020/03/10 HTML / CSS
意大利在线大学图书馆:Libreria universitaria
2019/07/16 全球购物
单位未婚证明范本
2014/01/18 职场文书
2016秋季小学开学寄语
2015/12/03 职场文书
七年级作文之冬景
2019/11/07 职场文书
java高级用法JNA强大的Memory和Pointer
2022/04/19 Java/Android