常见的opencv滤波器以及一点点介绍
cv2.GussianBlur()函数(高斯滤波)
语法:GaussianBlur(src,ksize,sigmaX [,dst [,sigmaY [,borderType]]])-> dst
——src输入图像;图像可以具有任意数量的通道,这些通道可以独立处理,但深度应为CV_8U,CV_16U,CV_16S,CV_32F或CV_64F。
——dst输出图像的大小和类型与src相同。
——ksize高斯内核大小。 ksize.width和ksize.height可以不同,但它们都必须为正数和奇数,也可以为零,然后根据sigma计算得出。
——sigmaX X方向上的高斯核标准偏差。
——sigmaY Y方向上的高斯核标准差;如果sigmaY为零,则将其设置为等于sigmaX;如果两个sigmas为零,则分别从ksize.width和ksize.height计算得出;为了完全控制结果,而不管将来可能对所有这些语义进行的修改,建议指定所有ksize,sigmaX和sigmaY。
Opencv 常见三种滤波器比较
滤波器种类 | 基本原理 | 特点 |
---|---|---|
均值滤波 | 使用模板内所有像素的平均值代替模板中心像素灰度值 | 易收到噪声的干扰,不能完全消除噪声,只能相对减弱噪声 |
中值滤波 | 计算模板内所有像素中的中值,并用所计算出来的中值体改模板中心像素的灰度值 | 对噪声不是那么敏感,能够较好的消除椒盐噪声,但是容易导致图像的不连续性 |
高斯滤波 | 对图像邻域内像素进行平滑时,邻域内不同位置的像素被赋予不同的权值 | 对图像进行平滑的同时,同时能够更多的保留图像的总体灰度分布特征 |
一篇讲的不错的博客
Python+OpenCV图像处理之图像梯度