理想高通滤波实现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异常学习笔记
Feb 03 Python
Python如何读取MySQL数据库表数据
Mar 11 Python
Python中对象的引用与复制代码示例
Dec 04 Python
python得到qq句柄,并显示在前台的方法
Oct 14 Python
对Python subprocess.Popen子进程管道阻塞详解
Oct 29 Python
Django-Rest-Framework 权限管理源码浅析(小结)
Nov 12 Python
Python实现新型冠状病毒传播模型及预测代码实例
Feb 05 Python
使用jupyter Nodebook查看函数或方法的参数以及使用情况
Apr 14 Python
解决导入django_filters不成功问题No module named 'django_filter'
Jul 15 Python
Pycharm github配置实现过程图解
Oct 13 Python
Python图像读写方法对比
Nov 16 Python
用python爬虫批量下载pdf的实现
Dec 01 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
Laravel5.1框架路由分组用法实例分析
2020/01/04 PHP
Javascript异步表单提交,图片上传,兼容异步模拟ajax技术
2010/05/10 Javascript
兼容ie、firefox的图片自动缩放的css跟js代码分享
2012/01/21 Javascript
自定义ExtJS控件之下拉树和下拉表格附源码
2013/10/15 Javascript
提取字符串中年月日的函数代码
2013/11/05 Javascript
可插入图片的TEXT文本框
2013/12/27 Javascript
原生js实现类似弹窗抖动效果
2015/04/02 Javascript
JS实现CheckBox复选框全选、不选或全不选功能
2020/07/28 Javascript
学习使用jquery iScroll.js移动端滚动条插件
2020/03/24 Javascript
JScript实现表格的简单操作
2017/08/15 Javascript
Vue上传组件vue Simple Uploader的用法示例
2017/08/25 Javascript
Angular4学习之Angular CLI的安装与使用教程
2018/01/04 Javascript
微信小程序云开发 生成带参小程序码流程
2019/05/18 Javascript
vue计算属性+vue中class与style绑定(推荐)
2020/03/30 Javascript
vue实现登录、注册、退出、跳转等功能
2020/12/23 Vue.js
mustache.js实现首页元件动态渲染的示例代码
2020/12/28 Javascript
python list 合并连接字符串的方法
2013/03/09 Python
使用python BeautifulSoup库抓取58手机维修信息
2013/11/21 Python
Python实现比较两个文件夹中代码变化的方法
2015/07/10 Python
解读Django框架中的低层次缓存API
2015/07/24 Python
实例讲解Python设计模式编程之工厂方法模式的使用
2016/03/02 Python
Python编程之字符串模板(Template)用法实例分析
2017/07/22 Python
Python操作mongodb的9个步骤
2018/06/04 Python
Python实现E-Mail收集插件实例教程
2019/02/06 Python
python GUI库图形界面开发之PyQt5计数器控件QSpinBox详细使用方法与实例
2020/02/28 Python
利于python脚本编写可视化nmap和masscan的方法
2020/12/29 Python
详解CSS3中字体平滑处理和抗锯齿渲染
2017/03/29 HTML / CSS
Html5写一个简单的俄罗斯方块小游戏
2019/12/03 HTML / CSS
Linux内核的同步机制是什么?主要有哪几种内核锁
2016/07/11 面试题
个人优缺点自我评价
2014/01/27 职场文书
《白鹅》教学反思
2014/04/13 职场文书
单位实习介绍信
2015/05/05 职场文书
在人间读书笔记
2015/06/30 职场文书
2015年中秋晚会主持稿
2015/07/30 职场文书
超市主管竞聘书
2015/09/15 职场文书
MySQL实现字段分割一行转多行的示例代码
2022/07/07 MySQL