理想高通滤波实现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高效编程技巧
Jan 07 Python
python重试装饰器示例
Feb 11 Python
python通过pil为png图片填充上背景颜色的方法
Mar 17 Python
在Python中操作文件之read()方法的使用教程
May 24 Python
python测试mysql写入性能完整实例
Jan 18 Python
python3.6+opencv3.4实现鼠标交互查看图片像素
Feb 26 Python
取numpy数组的某几行某几列方法
Apr 03 Python
用python标准库difflib比较两份文件的异同详解
Nov 16 Python
python使用Qt界面以及逻辑实现方法
Jul 10 Python
关于pytorch多GPU训练实例与性能对比分析
Aug 19 Python
Python必须了解的35个关键词
Jul 16 Python
python基础入门之普通操作与函数(三)
Jun 13 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作的文本留言本的例子(一)
2006/10/09 PHP
php实现jQuery扩展函数
2009/10/30 PHP
php模板原理讲解
2013/11/13 PHP
Fedora下安装php Redis扩展笔记
2014/09/03 PHP
关于URL最大长度限制的相关资料查证
2014/12/23 PHP
使用composer命令加载vendor中的第三方类库 的方法
2019/07/09 PHP
JavaScript 加号(+)运算符号
2009/12/06 Javascript
为Javascript中的String对象添加去除左右空格的方法(示例代码)
2013/11/30 Javascript
jQuery实现一个简单的轮播图
2017/02/19 Javascript
多个上传文件用js验证文件的格式和大小的方法(推荐)
2017/03/09 Javascript
基于JavaScript实现滑动门效果
2017/03/16 Javascript
基于JavaScript实现评论框展开和隐藏功能
2017/08/25 Javascript
微信小程序使用navigateTo数据传递的实例
2017/09/26 Javascript
关于angularJs清除浏览器缓存的方法
2017/11/28 Javascript
JS栈stack类的实现与使用方法示例
2019/01/31 Javascript
小程序异步问题之多个网络请求依次执行并依次收集请求结果
2019/05/05 Javascript
js构造函数constructor和原型prototype原理与用法实例分析
2020/03/02 Javascript
JavaScript实现简单的弹窗效果
2020/05/19 Javascript
Nest.js环境变量配置与序列化详解
2021/02/21 Javascript
跟老齐学Python之类的细节
2014/10/13 Python
python中异常报错处理方法汇总
2016/11/20 Python
Python数据分析之双色球统计两个红和蓝球哪组合比例高的方法
2018/02/03 Python
利用Python实现原创工具的Logo与Help
2018/12/03 Python
Python后台开发Django的教程详解(启动)
2019/04/08 Python
Django中使用session保持用户登陆连接的例子
2019/08/06 Python
Python帮你微信头像任意添加装饰别再@微信官方了
2019/09/25 Python
Html5剪切板功能的实现代码
2018/06/29 HTML / CSS
详解HTML5之pushstate、popstate操作history,无刷新改变当前url
2017/03/15 HTML / CSS
美国婚礼礼品网站:MyWeddingFavors
2018/09/26 全球购物
网络编程中设计并发服务器,使用多进程与多线程,请问有什么区别?
2016/03/27 面试题
Unix/Linux开发面试题
2016/08/16 面试题
生产车间管理制度
2015/08/04 职场文书
青年岗位能手事迹材料(2016推荐版)
2016/03/01 职场文书
秀!学妹看见都惊呆的Python小招数!【详细语言特性使用技巧】
2021/04/27 Python
linux下安装redis图文详细步骤
2021/12/04 Redis
SpringBoot中使用Redis作为全局锁示例过程
2022/03/24 Java/Android