Image processing
Image filters
Blur
convolution kernel(filter): A matrix
Gaussion blur
convolution kernel is computed by Guassian function:
\(f(i,j)=\frac{1}{2\pi\sigma^2}e^{-\frac{i^2+j^2}{2\sigma^2}}\)
Sharpening filter
Sharpening is adding high frequencies:
- original Image I
- high frequencies image I=I-blur(I)
- sharpened image=I + (I-blur(I))
\[
\begin{pmatrix}
0 & -1 & 0 \\
-1 & 5 & -1 \\
0 & -1 & 0
\end{pmatrix}
\]
Gradient detection fileters
- Exact vertical edges
\[
V=
\begin{pmatrix}
-1 & 0 & -1 \\
-2 & 0 & -2 \\
-1 & 0 & -1
\end{pmatrix}
\]
- Exact horizontal edges \(H=V^T\)

Bilateral filter
- 在平滑图像(去噪)的同时,尽可能保留边缘的清晰度。
工作原理
对于图像中每个像素 (i, j),其滤波后的值 BF[I]_{i,j} 是其邻域内像素的加权平均:
\[
BF[I]_{i,j} = \frac{1}{W_{i,j}} \sum_{k,l} I_{k,l} \cdot G_{\sigma_s}(||(i,j) - (k,l)||) \cdot G_{\sigma_r}(|I_{i,j} - I_{k,l}|)
\]
其中:
- \( G_{\sigma_s} \) 是空间域高斯核,由像素间的几何距离决定。距离越远,权重越小。
- \( G_{\sigma_r} \) 是值域高斯核,由像素间的灰度值差异决定。差异越大,权重越小。
- \( W_{i,j} \) 是归一化因子,确保所有权重之和为1。
Image Sampling
Reduce image size: down-sampling

Frequency
- 图像 = 低频轮廓 + 高频细节/边缘。
- 傅里叶变换(卷积定理):空域中的离散化采样,等价于频域中原始频谱的周期性复制/延拓
- 低通滤波器:允许图像中低频信号通过,同时衰减或阻挡高频信号的滤波器。在空间域,通过对像素邻域进行加权平均来实现。高频(边缘、噪声、细节)因平均而被平滑,低频(平坦区域)得以保留。
Alising
- Alising:信号混叠,指在对连续信号进行离散采样时,由于采样频率不足,导致高频信号被错误地折叠或解释为低频信号的一种失真现象。
reduce alising:
- increase sampling rate:The signal can be perfectly reconstructed if sampled with a frequency larger than 2f_max(Nyquist-Shannon theorem)
- anti-alising: filtering out high frequencies before sampling
- Convolve the image with low-pass filters
- Sample it with a Nyquist rate
Image magnification
This is a inverse process of donw-sampling.
Interpolation
- Nearest-neighbor:not continuous and smooth
- Linear:continuous but not smooth
- Bilinear:continuous, not smooth,利用目标点周围4个最近邻像素,进行两次一维线性插值(先水平后垂直)。
- Cubic:continuous, smooth
Change aspect ratio
Seam Carving for Content-Aware Image Resizing
Seam Carving(接缝裁剪) 是一种内容感知的图像缩放算法,它通过智能地移除或插入图像中“不重要”的像素路径(称为接缝)来改变图像尺寸,从而最大限度地保留重要内容(如物体、边缘)的视觉完整性。
核心思想
将图像缩放视为一个能量最小化问题:
- 定义每个像素的能量(如梯度幅值),能量越高表示该像素越“重要”(例如位于边缘或纹理丰富区域)。
- 接缝是一条从图像一侧延伸到另一侧的8连通像素路径(垂直接缝从上到下,水平接缝从左到右)。
- 算法迭代地移除能量最低的接缝(对于缩小)或复制能量最低的接缝(对于放大),从而在改变图像尺寸的同时,避免扭曲重要区域。
关键步骤
- 能量计算:计算图像的能量图(常用梯度幅值,如Sobel算子)。
- 接缝查找:使用动态规划寻找累积能量最小的接缝。
- 对于垂直接缝:从上到下计算每个像素的最小累积能量,并记录路径。
- 回溯得到能量最小的接缝。
- 接缝操作:
- 缩小:移除该接缝(所有右侧像素左移)。
- 放大:复制该接缝(平均插入相似像素)。
- 重复迭代:重复步骤1-3,直到达到目标尺寸。
示例
将一幅宽图像变窄时,算法优先移除背景(如天空、草地)中的像素,而非前景人物,从而避免人物被压扁或裁剪。