趋近智
到目前为止,我们已经研究了通过直接调整单个像素值(如改变亮度和对比度)或对整个图像结构应用变换(如缩放或旋转)来修改图像的方法。这些都是有效的工具,但许多重要的图像处理任务需要考虑像素的周边信息。它的邻居在做什么?它是一个平滑区域的一部分,还是位于一个尖锐的边缘上?
这正是图像滤波(也称为空间滤波)发挥作用的地方。滤波技术不是单独处理像素,而是根据小范围邻近像素的值来修改像素值。可以把它想象成透过一个小窗口观察一个像素,然后根据窗口内看到的一切来决定它的新值。
滤波背后的基本概念是卷积核。卷积核(有时也称为滤波器掩膜或窗口)是一个小型矩阵,通常是正方形的(例如3x3或5x5像素),包含特定数值。这些数值决定了滤波器的特性和效果。
以下是一般流程:
这种滑动卷积核并在每个位置计算加权和的过程是一种卷积形式(或者从技术上讲,是互相关,对于基本滤波中常用的对称核来说,两者非常相似)。目前,可以将其视为在整个图像上应用局部加权平均或差分操作。
想象一个3x3的小型卷积核和它覆盖的图像区域:
输入图像块 卷积核 中心输出像素的计算
+---+---+---+ +-----+-----+-----+
| P1| P2| P3| | K1 | K2 | K3 | 输出 = (P1*K1 + P2*K2 + P3*K3 +
+---+---+---+ +-----+-----+-----+ P4*K4 + P5*K5 + P6*K6 +
| P4| P5| P6| (*) | K4 | K5 | K6 | P7*K7 + P8*K8 + P9*K9)
+---+---+---+ +-----+-----+-----+
| P7| P8| P9| | K7 | K8 | K9 |
+---+---+---+ +-----+-----+-----+
卷积核在图像上滑动。在每一步,计算都使用卷积核下方的图像像素值(P1到P9)和卷积核的权重(K1到K9)来生成与输入中心像素(P5)对应的单个输出像素值。
让我们通过一个简单图示来展现这种滑动窗口的理念:
卷积核(黄色)在输入图像(蓝色)上滑动。在每个位置,它覆盖一个像素块(P1-P9)。使用卷积核的值(K1-K9)进行的加权求和会产生相应的输出像素(O5,绿色)。然后,卷积核移动到下一个位置。
一个实际问题出现了:当卷积核到达图像边缘时会发生什么?如果卷积核是3x3,并且它以边界上的像素为中心,那么卷积核的一部分会超出边缘,那里没有图像像素。
有几种方法可以处理这种情况,被称为边界外推或填充方法:
填充方法的选择有时会影响结果,尤其是在边缘附近,但对于许多基本应用,库中使用的默认方法(通常是复制或反射)效果良好。我们现在不会深入这些细节,但知道这是需要考虑的一个方面是好的。
滤波的真正效用在于,通过设计不同的卷积核(为K1到K9等选择不同的值),我们可以实现各种效果:
本节介绍了使用卷积核进行图像滤波的理念。在接下来的部分中,我们将查看特定类型的卷积核,从用于基本图像平滑的那些开始。理解滤波操作非常重要,因为它为许多更高级的计算机视觉技术奠定了基础。
这部分内容有帮助吗?
© 2026 ApX Machine Learning用心打造