理想高通滤波实现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接口自动化测试之接口数据依赖的实现方法

    python接口自动化测试之接口数据依赖的实现方法

    这篇文章主要介绍了python接口自动化测试之接口数据依赖的实现方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-04-04
  • python跳出双层for循环的解决方法

    python跳出双层for循环的解决方法

    今天小编就为大家分享一篇python跳出双层for循环的解决方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-06-06
  • Python利用shutil模块实现文件的裁剪与压缩

    Python利用shutil模块实现文件的裁剪与压缩

    shutil可以简单地理解为sh+util ,shell工具的意思。shutil模块是对os模块的补充,主要针对文件的拷贝、删除、移动、压缩和解压操作。本文将利用这一模块实现文件的裁剪、压缩与解压缩,需要的可以参考一下
    2022-05-05
  • Python爬虫使用脚本登录Github并查看信息

    Python爬虫使用脚本登录Github并查看信息

    这篇文章主要介绍了Python爬虫之用脚本登录Github并查看信息,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-07-07
  • Python如何定义有可选参数的元类

    Python如何定义有可选参数的元类

    这篇文章主要介绍了Python如何定义有可选参数的元类,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-07-07
  • python读取word文档的方法

    python读取word文档的方法

    这篇文章主要介绍了python读取word文档的方法,实例分析了Python基于win32com操作word文档的相关技巧,需要的朋友可以参考下
    2015-05-05
  • python对列进行平移变换的方法(shift)

    python对列进行平移变换的方法(shift)

    今天小编就为大家分享一篇python对列进行平移变换的方法(shift),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01
  • Python中利用json库进行JSON数据处理详解

    Python中利用json库进行JSON数据处理详解

    JSON是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成,下面就跟随小编一起来了解下如何使用Python实现JSON数据处理吧
    2025-02-02
  • python中Pyqt5使用Qlabel标签进行视频播放

    python中Pyqt5使用Qlabel标签进行视频播放

    这篇文章主要介绍了python中Pyqt5使用Qlabel实现标签进行视频播放,QLabel是界面中的标签类,继承自QFrame类,提供文本和图像的显示,是一种展示控件,下文相关内容介绍需要的小伙伴可以参考一下
    2022-04-04
  • python创造虚拟环境方法总结

    python创造虚拟环境方法总结

    在本篇内容里我们给大家整理了关于python创造虚拟环境的详细方法和步骤,需要的朋友们学习下。
    2019-03-03

最新评论