理想高通滤波实现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实现html转ubb代码(html2ubb)
Jul 03 Python
利用 Monkey 命令操作屏幕快速滑动
Dec 07 Python
django框架如何集成celery进行开发
May 24 Python
python实现决策树分类算法
Dec 21 Python
python判断一个对象是否可迭代的例子
Jul 22 Python
Python搭建代理IP池实现获取IP的方法
Oct 27 Python
pytorch 实现将自己的图片数据处理成可以训练的图片类型
Jan 08 Python
python实现全排列代码(回溯、深度优先搜索)
Feb 26 Python
Python基于requests库爬取网站信息
Mar 02 Python
python函数map()和partial()的知识点总结
May 26 Python
python中pow函数用法及功能说明
Dec 04 Python
python 实现定时任务的四种方式
Apr 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
PHP数据库编程之MySQL优化策略概述
2017/08/16 PHP
PHP实现抽奖功能实例代码
2020/06/30 PHP
学习ExtJS(一) 之基础前提
2009/10/07 Javascript
淘宝搜索框效果实现分析
2011/03/05 Javascript
js当一个变量为函数时 应该注意的一点细节小结
2011/12/29 Javascript
妙用Jquery的val()方法
2012/06/27 Javascript
jquery动画1.加载指示器
2012/08/24 Javascript
javascript中this做事件参数相关问题解答
2013/03/17 Javascript
理解Javascript闭包
2013/11/01 Javascript
jquery.ui.draggable中文文档(原文翻译)
2013/11/15 Javascript
js实现动态改变字体大小代码
2014/01/02 Javascript
jquery插件格式实例分析
2016/06/16 Javascript
Javascript 两种刷新方法以及区别和适用范围
2017/01/17 Javascript
Angular在一个页面中使用两个ng-app的方法(二)
2017/02/20 Javascript
Thinkjs3新手入门之添加一个新的页面
2017/12/06 Javascript
Javascript中prototype与__proto__的关系详解
2018/03/11 Javascript
JavaScript基础教程之如何实现一个简单的promise
2018/09/11 Javascript
微信小程序点击保存图片到本机功能
2019/12/13 Javascript
jQuery操作元素追加内容示例
2020/01/10 jQuery
jQuery表单校验插件validator使用方法详解
2020/02/18 jQuery
vue基于better-scroll仿京东分类列表
2020/06/30 Javascript
Node.js中的异步生成器与异步迭代详解
2021/01/31 Javascript
[22:59]VGJ.S vs VG 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
详解python发送各类邮件的主要方法
2016/12/22 Python
Python神奇的内置函数locals的实例讲解
2019/02/22 Python
django echarts饼图数据动态加载的实例
2019/08/12 Python
使用apiDoc实现python接口文档编写
2019/11/19 Python
英国最大的汽车配件在线商店:Euro Car Parts
2019/09/30 全球购物
PHP如何防止SQL注入
2014/05/03 面试题
小区门卫值班制度
2014/01/24 职场文书
酒店员工培训方案
2014/06/02 职场文书
销售员岗位职责
2014/06/09 职场文书
还款承诺书范本
2015/01/20 职场文书
网站文案策划岗位职责
2015/04/14 职场文书
团日活动总结格式
2015/05/11 职场文书