理想高通滤波实现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计算对角线有理函数插值的方法
May 07 Python
详解Python 数据库 (sqlite3)应用
Dec 07 Python
python 编写简单网页服务器的实例
Jun 01 Python
python读取文本绘制动态速度曲线
Jun 21 Python
Python学习笔记之pandas索引列、过滤、分组、求和功能示例
Jun 03 Python
对python3.4 字符串转16进制的实例详解
Jun 12 Python
树莓派使用USB摄像头和motion实现监控
Jun 22 Python
python 机器学习之支持向量机非线性回归SVR模型
Jun 26 Python
Python基于paramunittest模块实现excl参数化
Apr 26 Python
浅谈keras.callbacks设置模型保存策略
Jun 18 Python
python实现AHP算法的方法实例(层次分析法)
Sep 09 Python
Pytorch数据读取之Dataset和DataLoader知识总结
May 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
Codeigniter的dom类用法实例
2015/06/26 PHP
学习php设计模式 php实现装饰器模式(decorator)
2015/12/07 PHP
php实现微信支付之现金红包
2018/05/30 PHP
JavaScript 事件查询综合
2009/07/13 Javascript
js 实现无缝滚动 兼容IE和FF
2009/07/15 Javascript
Javascript面向对象编程
2012/03/18 Javascript
jQuery学习笔记(3)--用jquery(插件)实现多选项卡功能
2013/04/08 Javascript
jQuery插件实现控制网页元素动态居中显示
2015/03/24 Javascript
JavaScript仿静态分页实现方法
2015/08/04 Javascript
js实现网页多级级联菜单代码
2015/08/20 Javascript
JavaScript面向对象之私有静态变量实例分析
2016/01/14 Javascript
JavaScript仿商城实现图片广告轮播实例代码
2016/02/06 Javascript
java中String类型变量的赋值问题介绍
2016/03/23 Javascript
浅谈vue项目如何打包扔向服务器
2018/05/08 Javascript
原生JS实现的简单小钟表功能示例
2018/08/30 Javascript
vue2之简易的pc端短信验证码的问题及处理方法
2019/06/03 Javascript
解决layui的input独占一行的问题
2019/09/10 Javascript
谈谈IntersectionObserver懒加载的具体使用
2019/10/15 Javascript
vue基于better-scroll仿京东分类列表
2020/06/30 Javascript
[06:43]DAC2018 4.5 SOLO赛 Maybe vs Paparazi
2018/04/06 DOTA
使用python在校内发人人网状态(人人网看状态)
2014/02/19 Python
pandas 数据归一化以及行删除例程的方法
2018/11/10 Python
使用Template格式化Python字符串的方法
2019/01/22 Python
python实现微信小程序用户登录、模板推送
2019/08/28 Python
python如何利用Mitmproxy抓包
2020/10/10 Python
利用css3实现的简单的鼠标悬停按钮
2014/11/04 HTML / CSS
巴西最大的运动品牌:Olympikus
2020/07/14 全球购物
电脑售后服务承诺书
2014/03/27 职场文书
企业法人代表任命书
2014/06/06 职场文书
教师节感恩老师演讲稿
2014/08/28 职场文书
2014年重阳节活动策划方案书
2014/09/16 职场文书
项目经理岗位职责范本
2015/04/01 职场文书
开天辟地观后感
2015/06/09 职场文书
学前班教学反思
2016/02/24 职场文书
SQL Server中常用截取字符串函数介绍
2022/03/16 SQL Server
python实现学生信息管理系统(面向对象)
2022/06/05 Python