python用opencv 图像傅里叶变换
作者:我坚信阳光灿烂 发布时间:2021-03-02 02:04:35
标签:python,图像,傅里叶变换,opencv
傅里叶变换
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()
来源:https://www.cnblogs.com/wojianxin/p/12684306.html


猜你喜欢
- 要注意的是记得要先引用element操作模块 ,否则是无法绑定的格式:$(document).on(事件,标识,function(){});
- 2021年7月1日,官方正式发布了1.0Datatable版本。1.0版本支持windows和linux,以及Macos。 具体文档可以见:
- 最近基于selenium写了一个python小工具,记录下学习记录,自己运行的环境是Ubuntu 14.04.4, Python 2.7,C
- 一、分类问题损失函数——交叉熵(crossentropy)交叉熵刻画了两个概率分布之间的距离,是分类问题中使用广泛的损失函数。给定两个概率分
- 除了使用 <router-link> 创建 a 标签来定义导航链接,我们还可以借助 router 的实例方法,通过编写代码来实现
- 一、使用 Microsoft OLE DB Provider For ODBC 链接MySQL安装MySQL的ODBC驱动MyODBC1、为
- 一、sqlserver优点:易用性、适合分布式组织的可伸缩性、用于决策支持的数据仓库功能、与许多其他服务器软件紧密关联的集成性、良好的性价比
- 导读本篇博客我们将全面了解 Flask 中关于请求的相关设置,开始前你需要先配置 Flask 的基础框架。from flask import
- 一、背景描述csv格式文件是一种类似于excel的文件格式asc格式文件是一种可以用text打开的文本文件csv转asc本来可以用arcgi
- IE6下浮出层常会需要增加一个iframe来解决浮出层被Obj穿透的问题,这个是目前最有效的方案,不过这个方案本身有个缺陷,就是iframe
- 本文实例讲述了golang简单位运算。分享给大家供大家参考,具体如下:// http://play.golang.org/p/idG7Ri_
- 1.python 中创建进程的两种方式:from multiprocessing import Processimport timedef
- 背景最近在负责开发维护的一款数据平台,有一个功能是把数据从某个源头数据源(如常规的JDBC数据源,MySQL,Oracle等)推到目地数据源
- QQ通过返回不同的图片,来表示在线或离线,图标也随之变换,既然图片不同,那么,返回的HTTP头信息中的Content-Length 也一定不
- 本文实例为大家分享了javascript实现切割轮播的具体代码,供大家参考,具体内容如下效果代码<!DOCTYPE html>&
- 学习目的 掌握如何用ADO.NET插入新的记录 我们学得好快,今天做一个简易的新闻发布网页,可以说是个演示型的,只是让大家能理插入数据的最主
- shp2sqlserver用法简析 官方说明: shp2sqlserver is a command line tool for loadi
- 目录linux mysql5.5升级至mysql5.71.下载mysql5.7.322. 进入旧的mysql的bin目录下导出mysql的数
- 什么是goroutine?Goroutine是建立在线程之上的轻量级的抽象。它允许我们以非常低的代价在同一个地址空间中并行地执行多个函数或者
- torch.argmax()函数解析1. 官网链接torch.argmax(),如下图所示:2. torch.argmax(input)函数