傅里叶变换原理---OpenCV-Python开发指南(31)

本文介绍了傅里叶变换在图像处理中的作用,包括从空间域到频率域的转换,以及如何在Python中使用OpenCV和Numpy实现傅里叶变换和逆变换。通过频率域处理,可以实现图像增强、去噪和边缘检测等功能。文中还详细讲解了高通滤波和低通滤波的概念及其应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

要理解傅里叶变换,我们首先需要了解图像处理。在图像处理的过程中,一般分为空间域处理和频率域处理。

空间域处理是直接对图像内的像素进行处理。空间域处理主要划分为灰度变换和空间滤波两种形式。灰度变换是对图像内的单个像素进行处理,比如调节对比度和处理阈值等。控制滤波处理涉及图像质量的改变,例如前面的图像平滑处理。空间域处理的优点:计算简单方便,运算速度更快

频率域处理时先将图像变换到频率域,然后在频率域对图像进行处理,最后在通过反变换将图像从频率域变换到空间域。傅里叶变换是应用最广泛的一种频率域变换,它能够将图像从空间域变换到频率域,而逆傅里叶变换能够将频率域信息变换到空间域内。

傅里叶变化

法国数学家傅里叶指出,任何周期函数都可以表示为不同频率的正弦函数和的形式。

在图像的处理中,傅里叶变换就是将图像分解为正弦分量和余弦分量两部分,即将图像从空间域转换到频率域。数字图像经过傅里叶变化后,得到的频率域的值是复数。因此显示傅里叶变换的结果需要使用实数图像加虚数图像,或者幅度图像加相位图像的形式。

因为幅度图像包含了原图像中我们所需要的大部分信息,所以在图像的处理过程中,通常仅使用幅度图像。当然,如果希望先在频率域内对图像进行处理,再通过傅里叶变换得到修改后的空间域图像,就必须同时保留幅度图像和相位图像。

对图像进行傅里叶变换后,我们会得到图像中的低频与高频信息。低频信息对应图像内变化缓慢的灰度分量。高频信息对应图像内变换越来越快的灰度分量,是由灰度的尖锐过度造成的。例如,在一副大草原的图像中有一头狮子,低频信息就对应着广袤的草原,而高频信息对应着狮子的轮廓等各种边界及噪声信息。

傅里叶变换的作用,就是为了将图像从空域转换到频域,并在频率域内实现对图像内特定对象的处理,然后再对经过处理的频率域图像进行逆傅里叶变换得到空间域图像。其主要用处包括:图像增强,图像去噪,边缘检测,特征提取,图像压缩,图像加密等。

实现傅里叶变化

在Numpy包中,它给我们提供了numpy.fft.fft2()函数实现傅里叶变换。其完整定义如下:

def fft2(原始图像):

需要注意的是,原始图像必须是灰度图像,其返回值是ndarray类型。

下面,我们来实现傅里叶变换,并观察得到的频谱图像:

import cv2
import numpy as np
import matplotlib.pyplot as plt

img = cv2.imread("4.jpg", 0)#1
f = np.fft.fft2(img)#2
fshift = np.fft.fftshift(f)#3
spectrum = 20 * np.log(np.abs(fshift))#4
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李元静

您的鼓励就是我创作的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值