您的位置:首页 > 其它

平滑空间滤波器

2016-03-25 21:29 218 查看

平滑线性滤波器,均值滤波

平滑线性空间滤波器的输出(响应)是包含在滤波器模板邻域内的像素的简单平均值。这些滤波器有时也称为均值滤波器。也可以把它们归入低通滤波器。

这种处理的结果降低了图像灰度的尖锐变化。由于典型的随机噪声由灰度级的急剧变化组成,因此常见的平滑处理的应用就是降噪。

然而,由于图像边缘(几乎总是一幅图像希望有的特性)也是由图像灰度尖锐变化带来的特性,所以均值滤波器处理还是存在着不希望有的边缘模糊的负面效应。

下面这幅图中的是最为常见的简单平均的滤波器模板:



一种加权平均的均值滤波器:



在这个例子所示的模板中,中心位置的系数最大,因此在均值计算中可以为该像素提供更大的权重。其他像素离中心越近就赋予越大的权重。

这种加权重的策略的目的是,在平滑处理中,试图降低模糊。

均值滤波公式



openCV的均值滤波器:

void menValueFilters(){
auto im = imread("/Users/qixiangzhang/Desktop/openCV/jy.png");
Mat dstIm_5;
Mat dstIm_9;
Mat dstIm_15;

blur(im, dstIm_5, Size(5,5));
blur(im, dstIm_9, Size(9,9));
blur(im, dstIm_15, Size(15,15));

imshow("Original",im);
imshow("blur5", dstIm_5);
imshow("blur9", dstIm_9);
imshow("blur15", dstIm_15);
}


原图&结果:



滤波后的图像中可能会有黑边。这是由于我们用0(黑色)填充原图像的边界,经滤波后,再去除填充区域的结果,某些黑的混入了滤波后的图像。对于使用较大滤波器平滑的图像,这就成了问题。

统计排序滤波器,中值滤波

统计排序滤波器是一种非线性空间滤波器,这种滤波器的响应以滤波器包围的图像的像素的排序为基础,然后使用统计排序结果决定的值代替中心像素的值。

这一类中最知名的就要数中值滤波器:将邻域的灰度排序,将中间值赋予滤波后图像中的相应像素点。对处理椒盐噪声(脉冲噪声)十分有效。

摘自96页:



统计排序滤波器除了中值滤波还有其他的选择方式,例如选择最大值(最大值滤波器),最小值等。

openCV中的中值滤波器:

void midValueFilters(){
auto im = imread("/Users/qixiangzhang/Desktop/openCV/jy.png");
Mat dstIm_5;
Mat dstIm_9;
Mat dstIm_15;

medianBlur(im, dstIm_5, 5);
medianBlur(im, dstIm_9, 9);
medianBlur(im, dstIm_15, 15);

imshow("Original",im);
imshow("blur5", dstIm_5);
imshow("blur9", dstIm_9);
imshow("blur15", dstIm_15);
}


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: