理想高通滤波实现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同时兼容python2和python3的8个技巧分享
Jul 11 Python
Python实现Sqlite将字段当做索引进行查询的方法
Jul 21 Python
python中WSGI是什么,Python应用WSGI详解
Nov 24 Python
python简单实现操作Mysql数据库
Jan 29 Python
Centos下实现安装Python3.6和Python2共存
Aug 15 Python
python中将\\uxxxx转换为Unicode字符串的方法
Sep 06 Python
Python中函数参数匹配模型详解
Jun 09 Python
python找出一个列表中相同元素的多个索引实例
Jun 11 Python
Python调用graphviz绘制结构化图形网络示例
Nov 22 Python
python opencv 检测移动物体并截图保存实例
Mar 10 Python
Pytorch 高效使用GPU的操作
Jun 27 Python
python 两种方法修改文件的创建时间、修改时间、访问时间
Sep 26 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采用curl访问域名返回405 method not allowed提示的解决方法
2014/06/26 PHP
Laravel给生产环境添加监听事件(SQL日志监听)
2017/06/19 PHP
Laravel 5.5基于内置的Auth模块实现前后台登陆详解
2017/12/21 PHP
chrome浏览器不支持onmouseleave事件的解决技巧
2013/05/31 Javascript
jQuery 仿百度输入标签插件附效果图
2014/07/04 Javascript
用js判断是否为360浏览器的实现代码
2015/01/15 Javascript
jquery让指定的元素闪烁显示的方法
2015/03/17 Javascript
JavaScript中的普通函数与构造函数比较
2015/04/07 Javascript
js判断手机端(Android手机还是iPhone手机)
2015/07/22 Javascript
JavaScript实现阿拉伯数字和中文数字互相转换
2016/06/12 Javascript
js HTML5 Canvas绘制转盘抽奖
2020/09/13 Javascript
js将字符串中的每一个单词的首字母变为大写其余均为小写
2017/01/05 Javascript
利用Node.js对文件进行重命名
2017/03/12 Javascript
详解Koa中更方便简单发送响应的方式
2018/07/20 Javascript
vue项目首屏加载时间优化实战
2019/04/23 Javascript
js实现页面图片消除效果
2020/03/24 Javascript
Python正则表达式教程之二:捕获篇
2017/03/02 Python
python虚拟环境virtualenv的安装与使用
2017/09/21 Python
在python中利用GDAL对tif文件进行读写的方法
2018/11/29 Python
python最小生成树kruskal与prim算法详解
2019/01/17 Python
Django框架首页和登录页分离操作示例
2019/05/28 Python
python五子棋游戏的设计与实现
2019/06/18 Python
python中tkinter的应用:修改字体的实例讲解
2019/07/17 Python
Python Web框架之Django框架文件上传功能详解
2019/08/16 Python
用Python实现校园通知更新提醒功能
2019/11/23 Python
python列表推导式操作解析
2019/11/26 Python
python实现IOU计算案例
2020/04/12 Python
使用tensorflow实现VGG网络,训练mnist数据集方式
2020/05/26 Python
CSS3中的5个有趣的新技术
2009/04/02 HTML / CSS
使用Filters滤镜弥补CSS3的跨浏览器问题以及兼容低版本IE
2013/01/23 HTML / CSS
HTML5拖拽的简单实例
2016/05/30 HTML / CSS
请编程遍历页面上所有 TextBox 控件并给它赋值为 string.Empty
2015/12/03 面试题
怎样有效的进行自我评价
2013/10/06 职场文书
党的群众路线教育实践活动对照检查材料
2014/09/22 职场文书
2015年行政助理工作总结
2015/04/30 职场文书
python中的None与NULL用法说明
2021/05/25 Python