理想高通滤波实现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中index()和seek()的用法(详解)
Apr 27 Python
Python实现求两个csv文件交集的方法
Sep 06 Python
python 统计数组中元素出现次数并进行排序的实例
Jul 02 Python
对python3 Serial 串口助手的接收读取数据方法详解
Jun 12 Python
使用python将mysql数据库的数据转换为json数据的方法
Jul 01 Python
利用python在大量数据文件下删除某一行的例子
Aug 21 Python
python 上下文管理器及自定义原理解析
Nov 19 Python
python matplotlib 画dataframe的时间序列图实例
Nov 20 Python
Python 面向对象之类class和对象基本用法示例
Feb 02 Python
pycharm 2018 激活码及破解补丁激活方式
Sep 21 Python
python 使用建议与技巧分享(四)
Aug 18 Python
Python使用psutil库对系统数据进行采集监控的方法
Aug 23 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设计模式 Command(命令模式)
2011/06/26 PHP
PHP函数microtime()用法与说明
2013/12/04 PHP
PHP文件缓存类实现代码
2015/10/26 PHP
yii框架结合charjs实现统计30天数据的方法
2020/04/04 PHP
JavaScript设计模式之单例模式实例
2014/09/24 Javascript
js关于命名空间的函数实例
2015/02/05 Javascript
jquery中EasyUI实现异步树
2015/03/01 Javascript
jquery实现左右滑动菜单效果代码
2015/08/27 Javascript
jQuery动态增减行的实例代码解析(推荐)
2016/12/05 Javascript
AngularJS框架中的双向数据绑定机制详解【减少需要重复的开发代码量】
2017/01/19 Javascript
微信小程序 MD5的方法详解及实例代码
2017/03/10 Javascript
node koa2实现上传图片并且同步上传到七牛云存储
2017/07/31 Javascript
基于jquery实现九宫格拼图小游戏
2018/11/30 jQuery
JS/HTML5游戏常用算法之碰撞检测 包围盒检测算法详解【圆形情况】
2018/12/13 Javascript
vue3.0 搭建项目总结(详细步骤)
2019/05/20 Javascript
JS计算两个数组的交集、差集、并集、补集(多种实现方式)
2019/05/21 Javascript
解决layui页面按钮点击无反应,也不报错的问题
2019/09/29 Javascript
Vue中实现回车键切换焦点的方法
2020/02/19 Javascript
Vue封装Axios请求和拦截器的步骤
2020/09/16 Javascript
React中使用Vditor自定义图片详解
2020/12/25 Javascript
Python+Django在windows下的开发环境配置图解
2009/11/11 Python
Python工程师面试必备25条知识点
2018/01/17 Python
基于Python实现剪切板实时监控方法解析
2019/09/11 Python
Python 如何优雅的将数字转化为时间格式的方法
2019/09/26 Python
Numpy一维线性插值函数的用法
2020/04/22 Python
python 浮点数四舍五入需要注意的地方
2020/08/18 Python
关于Python不换行输出和不换行输出end=““不显示的问题(亲测已解决)
2020/10/27 Python
Django利用elasticsearch(搜索引擎)实现搜索功能
2020/11/26 Python
Html5适配iphoneX刘海屏的简单实现
2019/04/09 HTML / CSS
全球销量第一生发产品:Viviscal
2017/12/21 全球购物
Omio英国:搜索并比较便宜的巴士、火车和飞机
2019/08/27 全球购物
金融专业应届生求职信
2013/11/02 职场文书
公司业务主管岗位职责
2013/12/07 职场文书
搞笑征婚广告词
2014/03/17 职场文书
关于Vue中的options选项
2022/03/22 Vue.js
JS前端宏任务微任务及Event Loop使用详解
2022/07/23 Javascript