python高通滤波_理想高通滤波实现Python opencv示例
理想高通滤波实现 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高通滤波_理想高通滤波实现Python opencv示例相关推荐
- pythoncookbook和流畅的python对比_为什么你学Python效率比别人慢?因为你没有这套完整的学习资料...
以下资源免费获取方式! 关注!转发!私信"资料"即可免费领取! 入门书籍 1.<Python基础教程>(Beginning Python From Novice to ...
- 3 x 10的python表达式_这道数学题用PYTHON编程语言怎么写? 编程语言python是用
我觉着,这个应该这样解决比较符合计算机解题思路. 下面的回答的,思考的东西太多. # -*- coding: utf-8 -*- __author__ = 'lpe234' __date__ = '2 ...
- 零基础学python 视频_全网最全Python视频教程真正零基础学习Python视频教程 490集...
Python Web开发-进阶提升 490集超强Python视频教程 真正零基础学习Python视频教程 [课程简介] 这是一门Python Web开发进阶课程,手把手教你用Python开发完整的商业 ...
- 5.6.3 高通滤波(理想高通滤波+巴特沃斯高通滤波)
1.理想高通滤波器 高通滤波与低通滤波正好相反,是频域图像的高频部分通过而抑制低频部分.在图像中图像的边缘对应高频分量,因此高通滤波的效果是图像锐化.同样最简单的高通滤波器是理想高通滤波器.通过设置一 ...
- 微信跳一跳python代码_微信跳一跳python程序
#源码下载地址:https://files.cnblogs.com/files/cnfan/jump.rar importosimportcv2importnumpy as npimporttimei ...
- python初学者_初学者的热门Python资源
python初学者 Python新手? 还是您已经是一位经验丰富的开发人员,希望增加和提高您的Python知识? 我们为希望学习Python编程的任何人编制了一份推荐资源的书包. 我们对这些资源进行了 ...
- 为什么要学python语言_我们为什么要学习Python语言?
原标题:我们为什么要学习Python语言? 聊到我们为什么要学习Python语言?小编不禁又想起大佬潘石屹准备开启Python学习旅程时所发布的微博. 我们为什么要学习Python语言? 在农业社会时 ...
- 下载python步骤_下载及安装Python详细步骤
安装python分三个步骤: *下载python *安装python *检查是否安装成功 1.下载python (1)python下载地址 (2)选择下载的版本 (3)点开download后,找到下载 ...
- ubuntu更改默认python版本_更改Ubuntu默认python版本的方法
1.查看基本信息 # 列出所有已安装python ls /usr/bin/python* #查看默认的 Python 版本信息: python --version 2.基于用户修改 默认Python ...
最新文章
- 获取收藏夹路径的C++代码
- XVI Open Cup named after E.V. Pankratiev. GP of Ekaterinburg
- 数组内容转qstring_用Qstring给char[]数组赋值(转)
- 50:树中两个结点的最低公共祖先
- 数据库设计的 10 个最佳实践
- python 月报_python实践--月报分析之获取jira缺陷数据
- PG中的几种数据类型转换方式
- 张朝阳:搜狐Q3广告业务稳健游戏业务超预期 有望全年实现盈利
- Java多线程学习三十四:使用 Future 有哪些注意点?Future 产生新的线程了吗
- iOS之路10-给xib设置约束注意
- [MetalKit]7-Using-MetalKit-part-6使用MetalKit6
- 老外写的比较好用的splitter控件
- Pg Admin4 无法正常启动
- html英文期刊参考文献,英文参考文献标准格式
- 喜讯!云效度量能力获信通院先进级评估
- 传奇手游服务器搭建_传奇手游架设服务器教程
- 学习推荐书籍--C语言
- python函数的四种参数传递方式
- Geometry点线面的初始化
- Linux 7 种文件类型
热门文章
- java printwriter 文件_PrintWriter未写入文件(Java)
- 导师长期霸凌致博士生自杀,IEEE宣布开除其Fellow资格!
- laravel的union all求聚合
- Hadoop(HDFS)文件读写机制
- 钓鱼wifi的搭建方法(整理了一些资料
- 中创09校园招聘试题
- 虚拟现实(VR)在医疗保健中的5种应用
- Android ListView 的基本用法
- 关于项目报错:Error:Cannot build artifact 'XXX:war exploded' because it is included into a circular dep
- 揭秘3D电影幕后技术——两个摄像机像人眼一样拍