跳转至

Image Processing

约 775 个字 预计阅读时间 3 分钟

Filter

滤波(Filter)是图像处理中常用的一种操作,它可以对图像进行模糊(Blur)、锐化(Sharpen)、边缘检测(Edge Detection)等处理。图像的滤波通常使用二维卷积来描述,例如:

  • 均值滤波(Mean Filter):对图像的每个像素点周围的像素点取平均值,得到的新像素点的值等于周围像素点的平均值。
  • 高斯滤波(Gaussian Filter):对图像的每个像素点周围的像素点取高斯分布的加权平均值,得到的新像素点的值等于周围像素点的加权平均值

    高斯滤波通常需要对卷积核进行归一化处理,因为高斯分布的定义域是覆盖整个 \(\mathbb{R}^2\) 平面的。

  • 中值滤波(Median Filter):对图像的每个像素点周围的像素点的颜色值集合取中位数,作为新像素点的值。

以上三种滤波方法都可以对图像进行模糊处理。

  • 锐化滤波(Sharpen Filter):对图像进行锐化处理,可以使图像的边缘更加明显。

    锐化滤波的常见实现是增强图像中的高频成分。设原始图像为 \(I\),我们知道图像经过模糊处理后留下的是低频成分 \(\operatorname{blur}(I)\),因而 \(I - \operatorname{blur}(I)\) 包含了图像的高频成分。因此,锐化后的图像可以表示为:

    \[ \operatorname{sharp}(I) = I + \alpha(I - \operatorname{blur}(I)). \]
  • 边缘检测:通过计算图像的梯度就可以实现对图像边缘的检测。

    我们依然可以使用二维卷积来实现图像梯度的计算,例如:

    • 垂直边缘检测:

      \[ \begin{bmatrix} -1 & 0 & 1 \\ -2 & 0 & 2 \\ -1 & 0 & 1 \end{bmatrix}. \]
    • 水平边缘检测:

      \[ \begin{bmatrix} -1 & -2 & -1 \\ 0 & 0 & 0 \\ 1 & 2 & 1 \end{bmatrix}. \]

    可以发现,卷积核识别的图像形状与其本身的形状类似。

  • 双向滤波(Bilateral Filter):使图像内部模糊化,同时保证图像边缘不受影响。

    在不同位置的卷积核不同,在图像较为平坦的区域,使用普通的高斯滤波进行模糊化,而在边缘处会只对边缘的一边进行高斯滤波

    \((i,j)\) 是当前被卷积像素的坐标,即卷积核中心所处的位置坐标,\((k,l)\) 是被卷积核覆盖的某个像素点的坐标,则该点对应的卷积核的值为:

    \[ w(i,j,k,l) = \exp \left( - \frac{(i-k)^2 + (j-l)^2}{2 \sigma_d^2} - \frac{\left\Vert f(i,j) - f(k,l) \right\Vert }{2 \sigma_r^2} \right). \]

    在计算完毕后,同样需要对卷积核进行归一化处理。

Sampling

图像的分辨率:图像的像素尺寸与物理尺寸的比值,常用单位为 pixels/inch (ppi), pixels/cm (ppcm) 等。

图像的采样即改变图像的大小,可分为降采样(down-sampling)和升采样(up-sampling)两种。

图像的走样(aliasing)指由图像采样造成的图像失真,Aliasing 现象的根本原因是相比图像信号频率,采样频率太低了。