模糊原理:
1.Smooth/Blur 是图像处理中最简单和常用的操作之一
2.使用该操作的原因之一就为了给图像预处理时候减低噪声
3.使用Smooth/Blur操作其背后是数学的卷积计算
4.通常这些卷积算子计算都是线性操作,所以又叫线性滤波
模糊方法:
1.归一化盒子滤波(均值滤波)
2.高斯滤波
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 必须是正数而且是奇数
实例代码:
#include <opencv2\opencv.hpp>
#include <iostream>
using namespace std;
using namespace cv;
int main()
{
Mat src;
src = imread("D:/opencv/test.jpg");
if (src.empty()) {
printf("imread imgae error");
return -1;
}
namedWindow("input", CV_WINDOW_AUTOSIZE);
imshow("input", src);
namedWindow("bblur", CV_WINDOW_AUTOSIZE);
namedWindow("gblur", CV_WINDOW_AUTOSIZE);
Mat bblur;
Mat gblur;
blur(src, bblur, Size(11, 11));
imshow("bblur", bblur);
GaussianBlur(src, gblur, Size(11, 11), 11, 11);
imshow("gblur", gblur);
waitKey(0);
return 0;
}
效果: