目标追踪(二) 滤波初识

看到题目你会问:什么是滤波?其实就是对信号进行过滤。这个信号可以是一维的信号,如声音序列;也可以是二维的信号,如图像矩阵。

一般来说,我们生活中所说的“过滤”不会更改原有的物质的基本结构。例如,把“水”过滤后得到的还是“水”,而不是其他的什么东西,只是其中的成分发生了变化。以灰度图像(即黑白图像)为例,它是一个二维的矩阵,每一点上的数值代表该位置的像素的亮度(就是说它有几分白)。我们对图像的滤波操作就是改变各个位置上的亮度值。这样,得到的是一个新的二维矩阵,也就是滤波后的图像。

那么问题来了?我们该按照怎样的方式改变亮度值呢?滤波又有什么作用呢?

首先我们明确一个问题:我们看东西的时候,每次只会专注于一个区域,而不是整张图片(尽管我们在最后会在语义上把不同位置的图像联系起来,但那是后续的操作,我们现在只关注“看”的第一步)。这是很好理解的。一个像素应该和紧挨着它的像素联系起来被理解,而不是从离他十万八千里远的地方找一个来硬是一起观察。

看东西时只关注局部

那么我们对像素进行操作时,应该牢记,一个像素跟它周围的像素有关,而跟离它较远地像素无关。更绝对地说(尽管不一定是正确的,但却是非常有用的):一个像素,跟且只跟它周围的像素有关。那么我们在滤波时,应该每次只对一个局部进行操作。出于计算机处理的方便性,我们通常每次选取一个正方形的区域进行操作。下面介绍一个非常常见的滤波应用:随机噪声消除

噪声就是图像上由于技术原因(如相机质量不好等)出现的干扰像素。所谓随机噪声,意思是噪声是随机出现在图像上的。随机噪声中有一种叫做椒盐噪声,指的是随机出现在图像各个位置上的噪声,且要么是白点,要么是黑点。

按照我们的思路从局部的相关性去分析:一个图像其实是非常大的矩阵,那么在局部像素值的变化应该是微小的、连续的。那么,一个像素的亮度值应该大致等于它周围几个像素的中值。那么我们每次框选一个3X3的正方形小区域,用周围8个像素值的中值取代中间的像素,就可以消除这种噪声了。这种滤波叫做中值滤波,具体可以参见:

椒盐噪声与中值滤波的Python实现与检验

当然,你可能想到了,按照同样的思路,为什么不能用平均值呢?这里有一些关于这个问题的看法:

椒盐噪声 中值滤波 高斯噪声 均值滤波

关于滤波,你可以通过这篇博客了解到更多细节:

数字图像处理中滤波和卷积操作详细说明

那么下一节,我们将探索用滤波操作找出图像中物体的边缘的原理。

发布了5 篇原创文章 · 获赞 2 · 访问量 532
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章