如果一种滤波器是用邻域像素的加权累加值来替换像素值,我们就说这种滤波器是线性的。这里使用了均值滤波器,即将矩形邻域内的全部像素累加,除以该邻域的数量(即求平均值),然后用这个平均值替换原像素的值。这相当于把邻域中每个像素乘以 1,然后进行累加。也可以把邻域中每个像素位置对应的放大系数存放在一个矩阵中,用这个矩阵表示滤波器的不同权重。
矩阵中心的元素对应当前正在应用滤波器的像素。这样的矩阵也称为内核或掩码。对于一个 3×3 均值滤波器,其对应的内核可能是这样的。
函数 cv::boxFilter 对图像做滤波时,使用了一个仅由 1 组成的正方形内核。它与均值滤波器类似,但不会除以系数的数量。