图像模糊 : 为了给图像预处理时降低噪声
- 均值滤波
blur(Mat src, Mat dst, Size(xradius, yradius), point(-1, -1));
- 高斯滤波
(带权重的求和取值)
GaussianBlur(Mat src, Mat dst, Size(xradius, yradius), sigmax, sigmay);
sigmax, sigmay 调整高斯函数的大小
- 中值滤波
(排序->去中间值 对椒盐噪声有很好的抑制作用)
medianBlur (Mat src, Mat dst, int ksize);
ksize 须大于1且为奇数
- 双边模糊
(可以较好的保留轮廓,有磨皮效果)
bilateralFilter(Mat src, Mat dst, int d, double sigmacolor, double sigmaspace);
d 计算范围的半径,半径内的像素都会纳入计算;
sigmacolor 决定多少差值以内的像素会被计算;
sigmaspace 若d值大于0无效 否则会根据其计算d值
Mat src = imread("E://VS-pro//images//3.jpg");
if (src.empty())
{
cout << "can not find ..." << endl;
}
imshow("output", src);
//均值滤波
Mat dst;
blur(src, dst, Size(7, 1), Point(-1, -1));
imshow("outblur", dst);
//高斯滤波(权重求和)
Mat gblur;
GaussianBlur(src, gblur, Size(7, 7), 7, 7);
imshow("gassianblur output", gblur);
//中值滤波(抑制椒盐噪声(可去小白点))
Mat mblur;
medianBlur(src, mblur, 7);
imshow("medianblur output", mblur);
//双边滤波(保留轮廓)
Mat biblur;
bilateralFilter(src, biblur, 15, 130, 3);
imshow("biblur output", biblur);
waitKey(0);