zl程序教程

您现在的位置是:首页 >  后端

当前栏目

在OpenCV里实现谱域低通滤波

Opencv 实现
2023-09-14 09:10:33 时间

数字图像在形成、传输过程中,往往因为各种因素被加入了噪声,因此对图像进行前期处理以消除噪声,对于图像的分析、理解等后期工作起到决定性的作用,图像的边缘以及噪声干扰在图像的频域上对应于图像傅里叶变换中的高频部分,而图像的背景区则对应于低频部分,因此可以用频域低通滤波法去除图像的高频部分,以去掉噪声从而使数字图像光滑,增强图像的显示效果。

 

下面就使用前面学习过的傅里叶变换来实现低通滤波,要实现滤波要先实现滤波器,这里采用理想滤波器,当然你也可以换成其它滤波器。以原点为圆心,半径的圆内,无衰减地通过所有频率,而在圆外“切断”所有频率的二维低通滤波器,称为理想低通滤波器(ILPF),其函数表达式为:

用下面的例子来演示相关的功能:

#python 3.7.4,opencv4.1
#蔡军生 https://blog.csdn.net/caimouse/article/details/51749579
#
import numpy as np
import cv2
from matplotlib import pyplot as plt
import math

def fftImg(src): #快速傅里叶变换
    h, w = src.shape[:2]