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代码实现抢票助手
Sep 25 Python
Python使用Shelve保存对象方法总结
Jan 28 Python
python redis 删除key脚本的实例
Feb 19 Python
python实现对输入的密文加密
Mar 20 Python
python f-string式格式化听语音流程讲解
Jun 18 Python
如何关掉pycharm中的python console(图解)
Oct 31 Python
Python列表切片常用操作实例解析
Dec 16 Python
Python利用Scrapy框架爬取豆瓣电影示例
Jan 17 Python
详解python中各种文件打开模式
Jan 19 Python
python分别打包出32位和64位应用程序
Feb 18 Python
python3中datetime库,time库以及pandas中的时间函数区别与详解
Apr 16 Python
python中for in的用法详解
Apr 17 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
简化php模板页面中分页代码的解析
2009/02/06 PHP
php中批量修改文件后缀名的函数代码
2011/10/23 PHP
php抽奖小程序的实现代码
2013/06/18 PHP
Zend Framework教程之Zend_Db_Table表关联实例详解
2016/03/23 PHP
PHP 实现公历日期与农历日期的互转换
2017/09/13 PHP
jquery ajax同步异步的执行最终解决方案
2013/04/26 Javascript
js防止表单重复提交的两种方法
2013/09/30 Javascript
jquery获得option的值和对option进行操作
2013/12/13 Javascript
setTimeout自动触发一个js的方法
2014/01/15 Javascript
JS实现弹出浮动窗口(支持鼠标拖动和关闭)实例详解
2015/08/06 Javascript
js时钟翻牌效果实现代码分享
2020/07/31 Javascript
基于js实现微信发送好友如何分享到朋友圈、微博
2015/11/30 Javascript
基于canvas的二维码邀请函生成插件
2017/02/14 Javascript
解析jquery easyui tree异步加载子节点问题
2017/03/08 Javascript
js 索引下标之li集合绑定点击事件
2018/01/12 Javascript
python安装Scrapy图文教程
2017/08/14 Python
pandas 取出表中一列数据所有的值并转换为array类型的方法
2018/04/11 Python
windows7 32、64位下python爬虫框架scrapy环境的搭建方法
2018/11/29 Python
pyspark操作MongoDB的方法步骤
2019/01/04 Python
python 两个一样的字符串用==结果为false问题的解决
2020/03/12 Python
Python 读取WAV音频文件 画频谱的实例
2020/03/14 Python
华为旗下电子商务平台:华为商城
2016/08/06 全球购物
马克华菲官方商城:Mark Fairwhale
2016/09/04 全球购物
老板电器官方购物商城:老板油烟机、燃气灶、消毒柜、电烤箱
2018/05/30 全球购物
Stutterheim瑞典:瑞典高级外套时装品牌
2019/06/24 全球购物
采购经理岗位职责
2014/02/16 职场文书
学校端午节活动方案
2014/08/23 职场文书
学习保证书100字
2015/02/26 职场文书
幼儿园辞职信范文
2015/02/27 职场文书
初一英语教学反思
2016/02/15 职场文书
为Java项目添加Redis缓存的方法
2021/05/18 Redis
springboot 启动如何排除某些bean的注入
2021/08/02 Java/Android
Vue鼠标滚轮滚动切换路由效果的实现方法
2021/08/04 Vue.js
使用redis实现延迟通知功能(Redis过期键通知)
2021/09/04 Redis
MySQL数据库表约束讲解
2022/06/21 MySQL
Hive导入csv文件示例
2022/06/25 数据库