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

 更新时间:2019年01月30日 09:40:28   作者:qq_34725005  
今天小编就为大家分享一篇关于理想高通滤波实现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如何把字符串类型list转换成list

    python如何把字符串类型list转换成list

    这篇文章主要介绍了python如何吧字符串类型list转换成list,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-02-02
  • Python字符串与正则表达式详细介绍

    Python字符串与正则表达式详细介绍

    这篇文章主要介绍了Python字符串与正则表达式,Python字符串与正则表达式在Python中具有非常重要的地位,熟练的使用字符串与正则表达式能够为我们的Python编程提供很多的便利之处,希望您阅读完本文后能够有所收获
    2022-01-01
  • python中import reload __import__的区别详解

    python中import reload __import__的区别详解

    这篇文章主要介绍了python中import reload __import__的区别详解,需要的朋友可以参考下
    2017-10-10
  • Python中的pygal安装和绘制直方图代码分享

    Python中的pygal安装和绘制直方图代码分享

    这篇文章主要介绍了Python中的pygal安装和绘制直方图代码分享,具有一定借鉴价值,需要的朋友可以参考下。
    2017-12-12
  • python实现在字符串中查找子字符串的方法

    python实现在字符串中查找子字符串的方法

    这篇文章主要介绍了python实现在字符串中查找子字符串的方法,涉及Python中find方法的相关使用技巧,需要的朋友可以参考下
    2015-07-07
  • python2.7 安装pip的方法步骤(管用)

    python2.7 安装pip的方法步骤(管用)

    这篇文章主要介绍了python2.7 安装pip的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-05-05
  • Python3 xml.etree.ElementTree支持的XPath语法详解

    Python3 xml.etree.ElementTree支持的XPath语法详解

    这篇文章主要介绍了Python3 xml.etree.ElementTree支持的XPath语法详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-03-03
  • 浅析python连接数据库的重要事项

    浅析python连接数据库的重要事项

    这篇文章主要介绍了python连接数据库的重要事项,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-02-02
  • Python+matplotlib绘制饼图和堆叠图

    Python+matplotlib绘制饼图和堆叠图

    Matplotlib是Python的绘图库,它能让使用者很轻松地将数据图形化,并且提供多样化的输出格式。本文将为大家介绍如何用matplotlib绘制饼图和堆叠图,感兴趣的朋友可以学习一下
    2022-04-04
  • Python Django Cookie 简单用法解析

    Python Django Cookie 简单用法解析

    这篇文章主要介绍了Python Django Cookie 简单用法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08

最新评论