均值滤波
均值滤波是一种线性滤波,会导致图像模糊。
均值滤波器卷积核:卷积核中心点对应原图上的位置的值,变为卷积核覆盖的原图上的所有值的平均值。
c++均值滤波函数:
blur(src, dst, ksize);
- ksize:滤波器卷积核的尺寸,如:Size(3, 3)
python均值滤波函数:
dst = cv2.blur(src, ksize)
- ksize:滤波器卷积核的尺寸,必须为元组
中值滤波
中值滤波器是一种非线性滤波器,常用于消除图像中的椒盐噪声。椒盐噪声是指两种噪声,一种是盐噪声=白色(255),另一种是胡椒噪声=黑色(0)。前者是高灰度噪声,后者属于低灰度噪声。一般两种噪声同时出现,呈现在图像上就是黑白杂点。对于彩色图像,则表现为在单个像素BGR三个通道随机出现的255与0
中值滤波器卷积核:卷积核中心点对应原图上的位置的值,变为卷积核覆盖的原图上所有值的中位数。
c++中值滤波函数:
medianBlur(src, dst, ksize);
- src:Mat,输入图像
- dst:Mat,输出图像
- ksize:int型奇数,滤波器卷积核尺寸
python中值滤波函数:
dst = cv2.medianBlur(src, kszie)
- ksize:滤波器卷积核的尺寸,必须为整型奇数
高斯滤波
对图像进行平滑的同时,同时能够更多的保留图像的总体灰度分布特征
二维高斯分布:
高斯滤波器卷积核:卷积核中心点对应原图上位置的值,变为卷积核和覆盖的原图上的值对应位置一一相乘后的和
卷积核的值:以3x3的卷积核为例,
(-1, -1) | (0,-1) | (1, -1) |
---|---|---|
(-1, 0) | (0,0) | (1,0) |
(-1, 1) | (0, 1) | (1, 1) |
假设上面的表格是3x3的卷积核,卷积核每个位置的值是表格中的值代入二维高斯函数后得到的值
高斯滤波模板中最重要的参数就是高斯分布的标准差σ。它代表着数据的离散程度,如果σ较小,那么生成的模板中心系数越大,而周围的系数越小,这样对图像的平滑效果就不是很明显;相反,σ较大时,则生成的模板的各个系数相差就不是很大,比较类似于均值模板,对图像的平滑效果就比较明显
c++高斯滤波函数:
GaussianBlur(src, dst, ksize, sigmaX, sigmaY, borderType=BORDER_DEFAULT);
- ksize:滤波器卷积核的尺寸,如:Size(3, 3)
- sigmaX:double型,表示高斯核函数在X方向的的标准偏差
- sigmaY:double型,示高斯核函数在Y方向的的标准偏差。若sigmaY为零,就将它设为sigmaX
python高斯滤波函数:
dst = cv2.GaussianBlur(src, kszie, sigmaX, sigmaY)
- ksize:滤波器卷积核的尺寸,必须为元组
结语
如果您有修改意见或问题,欢迎留言或者通过邮箱和我联系。
如果我的文章对您有帮助,转载请注明出处。