理想高通滤波实现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的Tkinter实现一个简易计算器
Dec 31 Python
Python制作Windows系统服务
Mar 25 Python
Python Web编程之WSGI协议简介
Jul 18 Python
Python中矩阵创建和矩阵运算方法
Aug 04 Python
python框架中flask知识点总结
Aug 17 Python
python中将\\uxxxx转换为Unicode字符串的方法
Sep 06 Python
Python实现堡垒机模式下远程命令执行操作示例
May 09 Python
Python 一键制作微信好友图片墙的方法
May 16 Python
python爬虫库scrapy简单使用实例详解
Feb 10 Python
Python paramiko 模块浅谈与SSH主要功能模拟解析
Feb 29 Python
Windows+Anaconda3+PyTorch+PyCharm的安装教程图文详解
Apr 03 Python
10个python爬虫入门实例(小结)
Nov 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
请php正则走开
2008/03/15 PHP
thinkphp跨库操作的简单代码实例
2016/09/22 PHP
thinkPHP+phpexcel实现excel报表输出功能示例
2017/06/06 PHP
PHP封装curl的调用接口及常用函数详解
2018/05/31 PHP
Yii框架 session 数据库存储操作方法示例
2019/11/18 PHP
this和执行上下文实现代码
2010/07/01 Javascript
VS2008中使用JavaScript调用WebServices
2014/12/18 Javascript
浅谈javascript 函数属性和方法
2015/01/21 Javascript
js实现网页多级级联菜单代码
2015/08/20 Javascript
require.js的用法详解
2015/10/20 Javascript
javascript cookie的简单应用
2016/02/24 Javascript
JavaScript常用判断写法大全(推荐)
2016/05/30 Javascript
BootStrap入门教程(三)之响应式原理
2016/09/19 Javascript
Javascript 实现计算器时间功能详解及实例(二)
2017/01/08 Javascript
VUE利用vuex模拟实现新闻点赞功能实例
2017/06/28 Javascript
node中使用es5/6以及支持性与性能对比
2017/08/11 Javascript
Popup弹出框添加数据实现方法
2017/10/27 Javascript
vue-router的使用方法及含参数的配置方法
2018/11/13 Javascript
微信小程序实现列表左右滑动
2020/11/19 Javascript
JavaScript实现浏览器网页自动滚动并点击的示例代码
2020/12/05 Javascript
Vue+scss白天和夜间模式切换功能的实现方法
2021/01/05 Vue.js
[02:16]完美世界DOTA2联赛PWL S3 集锦第三期
2020/12/21 DOTA
DataFrame中去除指定列为空的行方法
2018/04/08 Python
基于python的图片修复程序(实现水印去除)
2018/06/04 Python
python 用所有标点符号分隔句子的示例
2019/07/15 Python
使用Python串口实时显示数据并绘图的例子
2019/12/26 Python
Python namedtuple命名元组实现过程解析
2020/01/08 Python
在python3.9下如何安装scrapy的方法
2021/02/03 Python
使用Python快速打开一个百万行级别的超大Excel文件的方法
2021/03/02 Python
美国男装连锁零售商:Men’s Wearhouse
2016/10/14 全球购物
Peter Millar官网:美国高档生活服饰品牌
2018/07/02 全球购物
在对linux系统分区进行格式化时需要对磁盘簇(或i节点密度)的大小进行选择,请说明选择的原则
2012/11/24 面试题
优质服务口号
2014/06/11 职场文书
《中国梦我的梦》中学生演讲稿
2014/08/20 职场文书
大学生档案自我鉴定(2篇)
2014/10/14 职场文书
2014年信贷员工作总结
2014/11/18 职场文书