Python实现彩色图片的高斯低通滤波
高斯滤波
高斯滤波 是图像处理中常见的一种图像平滑处理方式,由于高斯函数的傅里叶变换和傅里叶反变换均为高斯函数,并常常用来帮助寻找空间域与频率域之间的联系,所以基于高斯函数的滤波具有重要意义。一个二维的高斯低通滤波器的传递函数定义为:
式中,D(u,v)是频率平面上的点(u,v)到频率平面原点(0,0)的距离;σ表示高斯曲线扩展的程度。当σ=D0 时,可得到高斯低通滤波器的一种更为标准的表示形式:
D0是截止频率;D(u,v)=D0时,H(u,v)下降到其最大值的0.607处。
高斯低通滤波器的优点:与巴特沃斯低通滤波器相比,高斯低通滤波器没有振铃现象。另外在需要严格控制低频和高频之间截止频率过渡的情况下,选择高斯低通滤波器更合适一些。
使用Python实现彩色图像的高斯低通滤波
使用到的函数库
本程序使用到的函数库主要有:numpy科学计算库和OpenCV对应的库cv2。
代码
先设计一个函数,在导入图片地址和高斯滤波所用到的截止频率D0后,可以输出滤波后的目标图片。
import numpy as np
import cv2
# 设计函数,处理彩色图像的高斯低通滤波
def ColorGaussianFrequencyFilter(src, sigma=1):
#读取图片
img = cv2.imread(src, 1)
# 将图片转换为HSV色彩空间
imgHSV = cv2.cvtColor(img, cv2.