理想高通滤波实现Python opencv示例


Posted in Python onJanuary 30, 2019

理想高通滤波实现 python opencv

import numpy as np 
import cv2 
from matplotlib import pyplot as plt
plt.rcParams[‘font.sans-serif']=[‘SimHei'] 
plt.rcParams[‘axes.unicode_minus'] = False 
I = cv2.imread(‘capture3.png') 
cv2.imshow(‘original',I) 
(r,g,b) = cv2.split(I) 
I = cv2.merge([b,g,r]) 
J = np.double(cv2.cvtColor(I,cv2.COLOR_RGB2GRAY)) 
D1 = 30 
D2 = 60 
D3 = 160 
Fuv = np.fft.fftshift(np.fft.fft2(J)) 
print(‘Fuv',Fuv) 
print(I.shape) 
m,n = I.shape[0],I.shape[1] 
xo = np.floor(m/2) 
yo = np.floor(n/2) 
h1 = np.zeros((m,n)) 
h2 = np.zeros((m,n)) 
h3 = np.zeros((m,n)) 
for i in range(m): 
for j in range(n): 
D = np.sqrt((i-xo)**2+(j-yo)**2) 
if D>=D1: 
h1[i,j]=1 
else: 
h1[i,j]=0 
if D>=D2: 
h2[i,j]=1 
else: 
h2[i,j]=0 
if D>=D3: 
h3[i,j]=1 
else: 
h3[i,j]=0 
Guv1 = h1*Fuv 
Guv2 = h2*Fuv 
Guv3 = h3*Fuv 
g1 = np.fft.ifftshift(Guv1) 
g1 = np.uint8(np.real(np.fft.ifft2(g1))) 
print(‘g1',g1) 
g2 = np.fft.ifftshift(Guv2) 
g2 = np.uint8(np.real(np.fft.ifft2(g2))) 
print(‘g2',g2) 
g3 = np.fft.ifftshift(Guv3) 
g3 = np.uint8(np.real(np.fft.ifft2(g3))) 
print(‘g3',g3) 
plt.subplot(2,2,1),plt.imshow(I),plt.title(‘原图像') 
plt.subplot(2,2,2),plt.imshow(g1),plt.title(‘D0=30') 
plt.subplot(2,2,3),plt.imshow(g2),plt.title(‘D0=60') 
plt.subplot(2,2,4),plt.imshow(g3),plt.title(‘D0=160') 
plt.show()

效果:

理想高通滤波实现Python opencv示例

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。如果你想了解更多相关内容请查看下面相关链接

Python 相关文章推荐
Python 类与元类的深度挖掘 II【经验】
May 06 Python
详解Python中的静态方法与类成员方法
Feb 28 Python
Python下使用Scrapy爬取网页内容的实例
May 21 Python
python topN 取最大的N个数或最小的N个数方法
Jun 04 Python
Python实现监控键盘鼠标操作示例【基于pyHook与pythoncom模块】
Sep 04 Python
解决pycharm工程启动卡住没反应的问题
Jan 19 Python
200行python代码实现2048游戏
Jul 17 Python
详细介绍Python进度条tqdm的使用
Jul 31 Python
Python实现时间序列可视化的方法
Aug 06 Python
python不相等的两个字符串的 if 条件判断为True详解
Mar 12 Python
scrapy实践之翻页爬取的实现
Jan 05 Python
virtualenv隔离Python环境的问题解析
Jun 21 Python
对DataFrame数据中的重复行,利用groupby累加合并的方法详解
Jan 30 #Python
WIn10+Anaconda环境下安装PyTorch(避坑指南)
Jan 30 #Python
对dataframe数据之间求补集的实例详解
Jan 30 #Python
如何在Django中添加没有微秒的 DateTimeField 属性详解
Jan 30 #Python
Pandas统计重复的列里面的值方法
Jan 30 #Python
自学python的建议和周期预算
Jan 30 #Python
python DataFrame 取差集实例
Jan 30 #Python
You might like
php adodb连接mssql解决乱码问题
2009/06/12 PHP
基于jquery的web页面日期格式化插件
2011/11/15 Javascript
基于Jquery实现的一个图片滚动切换
2012/06/21 Javascript
JS 各种网页尺寸判断实例方法
2013/04/18 Javascript
jQuery中size()方法用法实例
2014/12/27 Javascript
js仿黑客帝国字母掉落效果代码分享
2020/11/08 Javascript
利用HTML5的画布Canvas实现刮刮卡效果
2015/09/06 Javascript
Node.js开发者必须了解的4个JS要点
2016/02/21 Javascript
JavaScript事件代理和委托详解
2016/04/08 Javascript
jQuery实现的自定义滚动条实例详解
2016/09/20 Javascript
代码详解Vuejs响应式原理
2017/12/20 Javascript
Express进阶之log4js实用入门指南
2018/02/10 Javascript
vee-validate vue 2.0自定义表单验证的实例
2018/08/28 Javascript
JS对象属性的检测与获取操作实例分析
2020/03/17 Javascript
[02:26]DOTA2英雄米拉娜基础教程
2013/11/25 DOTA
[01:10:30]DOTA2-DPC中国联赛正赛 Dragon vs Dynasty BO3 第一场 3月4日
2021/03/11 DOTA
最基础的Python的socket编程入门教程
2015/04/23 Python
Django中URLconf和include()的协同工作方法
2015/07/20 Python
Python简单实现TCP包发送十六进制数据的方法
2016/04/16 Python
Python中字典的setdefault()方法教程
2017/02/07 Python
numpy中loadtxt 的用法详解
2018/08/03 Python
Django中的用户身份验证示例详解
2019/08/07 Python
django 解决model中类写不到数据库中,数据库无此字段的问题
2020/05/20 Python
Python3获取cookie常用三种方案
2020/10/05 Python
python 爬虫基本使用——统计杭电oj题目正确率并排序
2020/10/26 Python
查找适用于matplotlib的中文字体名称与实际文件名对应关系的方法
2021/01/05 Python
python 模块导入问题汇总
2021/02/01 Python
英国折扣零售连锁店:QD Stores
2018/12/08 全球购物
Hotels.com泰国:酒店预订网站
2019/11/20 全球购物
年级组长自我鉴定
2014/02/22 职场文书
大型活动组织方案
2014/05/10 职场文书
保护环境标语
2014/06/09 职场文书
励志广播稿300字(5篇)
2014/09/15 职场文书
乡镇干部个人整改措施思想汇报
2014/10/10 职场文书
2014年个人工作总结报告
2014/11/27 职场文书
win10忘记pin密码登录不了怎么办?win10忘记pin密码登不进去的解决方法
2022/07/07 数码科技