网络编程
位置:首页>> 网络编程>> Python编程>> 理想高通滤波实现Python opencv示例

理想高通滤波实现Python opencv示例

作者:qq_34725005  发布时间:2022-09-29 03:58:07 

标签: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 opencv示例

来源:https://blog.csdn.net/qq_34725005/article/details/82695309

0
投稿

猜你喜欢

  • Fib实例虽然能作用于for循环,看起来和list有点像,但是,把它当成list来使用还是不行,比如,取第5个元素:>>>
  • 这是学习tensorflow框架中遇到的知识,这里定义函数的时候选用的是将x和y封装起来,方便tensorflow求导。要慢慢习惯这种写法i
  • 内容摘要:最近逛论坛经常看到有朋友问上传文件怎么重命名,怎么以当前日期来重命名上传文件。现在我就介绍一下重命名的方法,希望对大家有所帮助。本
  • 1、可以控制左横向滚动还是右横向滚动。2、鼠标悬停上时暂停滚动,移开后恢复滚动。3、间歇时间按需调整,但不要低于容器向左/右移动的时间。JA
  • 一段查看ASP文件源码的ASP程序,需要的朋友可以试试!<% SUB PrintLine (ByVal 
  • 所谓类属性的延迟计算就是将类的属性定义成一个property,只在访问的时候才会计算,而且一旦被访问后,结果将会被缓存起来,不用每次都计算。
  • 由于分形树具有对称性,自相似性,所以我们可以用递归来完成绘制。只要确定开始树枝长、每层树枝的减短长度和树枝分叉的角度,我们就可以把分形树画出
  • 数据库镜像是将数据库事务处理从一个数据库移动到不同环境中的另一个数据库中。镜像的拷贝是一个备用的拷贝,不能直接访问,它只用在错误恢复的情况下
  • 今天看了篇关于Web Form Design的成功案例,虽然讲的事情很简单,但总结了一些方法,翻译过来做个原始积累吧,以后写东西举例子时也好
  • 什么是错误页面?是指链接指向的网页现在失效了,原因可能是用户输错了地址,也可能是网站结构调整,内容删除,或者地址变更都有可能出现这种情况。那
  • 带参数的二维码对于渠道营销推广来说是很有用的,可以获得多个带不同场景值的二维码,用户扫描后,公众号可以接收到事件推送,可喜的是微信开通了这个
  • sql server 全文检索有两种搜索方式,一种是contains,另一种是freetext。前者是包含,类似于 like '%关
  • 1.说明redis作为一个缓存数据库,在各方面都有很大作用,Python支持操作redis,如果你使用Django,有一个专为Django搭
  • 所以爱微网现在讲解先php内置函数 有大小写转换相关函数 文本html标签处理函数大小写有关函数 strtolower() strtoupp
  • 沟通的时候,一般我不主动说自己是做用户体验设计,也不说做以用户为中心的设计,包括UED, UCD。这种专业名词传达的太虚,你也许是名用户体验
  • 本文为大家分享了python实现外卖信息管理系统的具体代码,供大家参考,具体内容如下一、需求分析 需求分析包含如下:1、问题描述 以外卖信息
  • 实例源码:#pip3 install opencv-pythonimport cv2from datetime import datetim
  • 不同数据库之间若不能导入导出,那么将是一件可怕的事情,所幸的是一般情况下通过不同的方法和途径,都可以实现,方法有多种,本人提供其中的一个,提
  • 如何让用户也能修改密码?    好了,照下面添加到你要添加的地方去:<%id = Request(&qu
  • 如何只取数据库的前3条记录?怎么控制只取得前3行数据    这要看是什么类型的数据库了,对于Access和SQ
手机版 网络编程 asp之家 www.aspxhome.com