平滑空间滤波器
Posted zhangqixiang5449
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了平滑空间滤波器相关的知识,希望对你有一定的参考价值。
平滑线性滤波器,均值滤波
平滑线性空间滤波器的输出(响应)是包含在滤波器模板邻域内的像素的简单平均值。这些滤波器有时也称为均值滤波器。也可以把它们归入低通滤波器。
这种处理的结果降低了图像灰度的尖锐变化。由于典型的随机噪声由灰度级的急剧变化组成,因此常见的平滑处理的应用就是降噪。
然而,由于图像边缘(几乎总是一幅图像希望有的特性)也是由图像灰度尖锐变化带来的特性,所以均值滤波器处理还是存在着不希望有的边缘模糊的负面效应。
下面这幅图中的是最为常见的简单平均的滤波器模板:
一种加权平均的均值滤波器:
在这个例子所示的模板中,中心位置的系数最大,因此在均值计算中可以为该像素提供更大的权重。其他像素离中心越近就赋予越大的权重。
这种加权重的策略的目的是,在平滑处理中,试图降低模糊。
均值滤波公式
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);
以上是关于平滑空间滤波器的主要内容,如果未能解决你的问题,请参考以下文章