理想高通滤波实现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的socket编程入门教程
Apr 23 Python
python模拟enum枚举类型的方法小结
Apr 30 Python
Python安装使用命令行交互模块pexpect的基础教程
May 12 Python
完美解决python遍历删除字典里值为空的元素报错问题
Sep 11 Python
python将文本中的空格替换为换行的方法
Mar 19 Python
Python实现定期检查源目录与备份目录的差异并进行备份功能示例
Feb 27 Python
Python数据报表之Excel操作模块用法分析
Mar 11 Python
django 类视图的使用方法详解
Jul 24 Python
关于Python内存分配时的小秘密分享
Sep 05 Python
Django之使用内置函数和celery发邮件的方法示例
Sep 16 Python
python+Selenium自动化测试——输入,点击操作
Mar 06 Python
Python就将所有的英文单词首字母变成大写
Feb 12 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
彻底删除thinkphp3.1案例blog标签的方法
2014/12/05 PHP
dedecms集成财付通支付接口
2014/12/28 PHP
thinkPHP导出csv文件及用表格输出excel的方法
2015/12/30 PHP
PHP7新增运算符用法实例分析
2016/09/26 PHP
PHP7如何开启Opcode打造强悍性能详解
2018/05/11 PHP
JavaScript RegExp方法获取地址栏参数(面向对象)
2009/03/10 Javascript
jsTree 基于JQuery的排序节点 Bug
2011/07/26 Javascript
关于JavaScript与HTML的交互事件
2013/04/12 Javascript
使用JavaScript 实现各种跨域的方法
2013/05/08 Javascript
JavaScript中继承用法实例分析
2015/05/16 Javascript
使用AngularJS制作一个简单的RSS阅读器的教程
2015/06/18 Javascript
基于jquery实现页面滚动时顶部导航显示隐藏
2020/04/20 Javascript
javascript产生随机数方法汇总
2016/01/25 Javascript
jQuery的内容过滤选择器学习教程
2016/04/18 Javascript
AngularJS包括详解及示例代码
2016/08/17 Javascript
js当前页面登录注册框,固定div,底层阴影的实例代码
2016/10/04 Javascript
AngularJS 获取ng-repeat动态生成的ng-model值实例详解
2016/11/29 Javascript
NodeJS仿WebApi路由示例
2017/02/28 NodeJs
vue指令以及dom操作详解
2017/03/04 Javascript
浅谈js获取ModelAndView值的问题
2018/03/28 Javascript
详解JavaScript中的函数、对象
2019/04/01 Javascript
JS实现放大镜效果
2020/09/21 Javascript
Python中的高级数据结构详解
2015/03/27 Python
关于Python中空格字符串处理的技巧总结
2017/08/10 Python
使用requests库制作Python爬虫
2018/03/25 Python
Python中几种属性访问的区别与用法详解
2018/10/10 Python
Python实现报警信息实时发送至邮箱功能(实例代码)
2019/11/11 Python
Python 存取npy格式数据实例
2020/07/01 Python
院药学专业个人求职信
2013/09/21 职场文书
计算机专业个人简短的自我评价
2013/10/23 职场文书
自动化专业个人求职信范文
2013/11/29 职场文书
校园广播稿500字
2014/02/04 职场文书
学生个人自我鉴定
2014/03/26 职场文书
中学生英语演讲稿
2014/04/26 职场文书
网上祭先烈心得体会
2014/09/01 职场文书
「天才王子的赤字国家重生术」妮妮姆·拉雷粘土人开订
2022/03/21 日漫