1、模糊原理
Smooth/Blur是图像处理中最简单和常用的操作之一
使用该操作的原因之一是为了给图形预处理时候降低噪声
使用Smooth/Blur操作其背后的数学的卷积计算
通常这些卷积算子计算都是线性操作,所以又叫线性滤波
2、
3、中值滤波
统计排序滤波器
中值对椒盐噪声有很好的一直作用(椒盐噪声也称为脉冲噪声,是图像中经常见到的一种噪声,它是一种随机出现的白点或者黑点,可能是亮的区域有黑色像素或是在暗的区域有白色像素(或是两者皆有)。椒盐噪声的成因可能是影像讯号受到突如其来的强烈干扰而产生、类比数位转换器或位元传输错误等。)
4、双边滤波
均值模糊无法克服边缘像素信息丢失缺陷。原因是均值滤波是基于平均权重。
高斯模糊部分克服了该缺陷,但是无法完全避免,因为没有考虑像素值的不同。
高斯双边模糊是边缘保留的滤波方法,避免了边缘信息丢失,保留了图像轮廓不变。
5、相关API
· 均值模糊 blur(Mat src, Mat dst, Size(xradius, yradius), Point(-1, -1));
· 高斯模糊 GaussianBlur(Mat src, Mat dst, Size(11, 11), sigmax, sigmay);
其中Size(x, y), x, y必须是整数而且是奇数
· 中值模糊medianBlur(Mat src, Mat dst, ksize);
· 双边模糊bilateralFilter(src, dst, d = 15, 150, 3);
15—计算的半径
150—sigma color
3-----sigma space 如果d大于0则声明无效,否则根据它来计算d值
中值模糊的ksize大小必须是大于1而且必须是奇数。
代码演示
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main(int argc,