python用opencv 图像傅里叶变换

 更新时间:2021年01月04日 17:18:17   作者:我坚信阳光灿烂  
这篇文章主要介绍了python用opencv 图像傅里叶变换的方法,帮助大家更好的利用python处理图片,感兴趣的朋友可以了解下

傅里叶变换
dft = cv.dft(np.float32(img),flags = cv.DFT_COMPLEX_OUTPUT)
傅里叶逆变换
img_back = cv.idft(f_ishift)

实验:将图像转换到频率域,低通滤波,将频率域转回到时域,显示图像

import numpy as np
import cv2 as cv
from matplotlib import pyplot as plt

img = cv.imread('d:/paojie_g.jpg',0)
rows, cols = img.shape
crow, ccol = rows//2 , cols//2

dft = cv.dft(np.float32(img),flags = cv.DFT_COMPLEX_OUTPUT)
dft_shift = np.fft.fftshift(dft)

# create a mask first, center square is 1, remaining all zeros
mask = np.zeros((rows,cols,2),np.uint8)
mask[crow-30:crow+31, ccol-30:ccol+31, :] = 1

# apply mask and inverse DFT
fshift = dft_shift*mask
f_ishift = np.fft.ifftshift(fshift)
img_back = cv.idft(f_ishift)
img_back = cv.magnitude(img_back[:,:,0],img_back[:,:,1])

plt.subplot(121),plt.imshow(img, cmap = 'gray')
plt.title('Input Image'), plt.xticks([]), plt.yticks([])
plt.subplot(122),plt.imshow(img_back, cmap = 'gray')
plt.title('Low Pass Filter'), plt.xticks([]), plt.yticks([])
plt.show()

相关文章

  • django将网络中的图片,保存成model中的ImageField的实例

    django将网络中的图片,保存成model中的ImageField的实例

    今天小编就为大家分享一篇django将网络中的图片,保存成model中的ImageField的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • 基于Python实现IP代理池

    基于Python实现IP代理池

    在网络爬虫或数据采集领域,IP代理池是一种常用的工具,本文将详细介绍如何使用Python实现一个简单的IP代理池,有需要的可以参考一下
    2024-11-11
  • Python将图片转为漫画风格的示例

    Python将图片转为漫画风格的示例

    本文主要介绍了Python将图片转为漫画风格的示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • python实现的B站直播录制工具

    python实现的B站直播录制工具

    这篇文章主要介绍了python实现的B站直播录播工具,帮助大家更好的理解和学习使用python,感兴趣的朋友可以了解下
    2021-04-04
  • python实现批量修改文件名

    python实现批量修改文件名

    这篇文章主要为大家详细介绍了python实现批量修改文件名,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-03-03
  • Python接口自动化之浅析requests模块get请求

    Python接口自动化之浅析requests模块get请求

    这篇文章主要介绍了requests模块get请求,在Python语言中,虽然提供了urllib2和urllib的库,但是相比较而言,Requests仍然是实现接口测试最好的选择,因为它是用起来更加简便
    2021-08-08
  • Python使用MD5加密字符串示例

    Python使用MD5加密字符串示例

    这篇文章主要介绍了Python使用MD5加密字符串示例,对一些可能出现的错误点上本文也给出提醒,需要的朋友可以参考下
    2014-08-08
  • 一文了解conda虚拟环境的使用及常见问题

    一文了解conda虚拟环境的使用及常见问题

    管理不同项目的依赖关系是一个常见而棘手的问题,本文主要介绍了一文了解conda虚拟环境的使用及常见问题,具有一定的参考价值,感兴趣的可以了解一下
    2024-03-03
  • 一文带你探索Python中15个常见的魔术方法

    一文带你探索Python中15个常见的魔术方法

    在Python中,特殊方法(也称为魔术方法)是由Python解释器自动调用的,我们不需要手动调用它们,本文小编为大家整理了15个常见特殊方法的实现,希望对大家有所帮助
    2024-01-01
  • 对python特殊函数 __call__()的使用详解

    对python特殊函数 __call__()的使用详解

    今天小编就为大家分享一篇对python特殊函数 __call__()的使用详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07

最新评论