跳转至

第1章 图像处理基础概念与彩色图像处理

一、图像数字化基础(Basic BIP Concepts)

1.1 图像数字化的两个步骤

物理信号(连续信号)经过数字化(Digitalization)变成数字信号,包含两个核心步骤:

采样(Sampling)+ 量化(Quantization)→ 数字图像

1.2 采样(Sampling)

基本概念

  • 采样将空间连续的图像 \(f(x,y)\) 转换为离散的像素矩阵
  • 采样结果:图像大小 \(M \times N\)(矩阵的行数和列数)
  • 采样分为:
    • 时间采样(Temporal Sampling):沿时间轴离散化
    • 空间采样(Spatial Sampling):沿空间轴离散化,将图像空间划分成网格

一维切片(Line Plot)

对一幅二维图像沿某个方向取一条线(切片),得到该位置像素灰度值沿该方向变化的一维曲线,称为 Line Plot。这是理解图像空间变化的重要工具——可以看作是图像在该位置的"剖面图"。

三种典型的切片方向:水平切片(沿 \(x\) 方向 \(y\) 固定)、垂直切片(沿 \(y\) 方向 \(x\) 固定)、任意方向切片。

物理分辨率 vs 矩阵尺寸

重要概念

物理分辨率(Physical Resolution)≠ 矩阵尺寸(Matrix Size)

  • 物理分辨率 = 像素代表的实际物理尺寸(如 \(1 \times 1\text{mm}\)\(2 \times 2\text{mm}\)
  • 矩阵尺寸 = 像素的数量(如 \(256 \times 256\)\(128 \times 128\)

img

采样效应

  • 采样点越密集(矩阵越大),图像细节保留越多
  • \(256 \times 256 \to 128 \times 128 \to 64 \times 64 \to 16 \times 16\):随着采样数减少,图像变得模糊,出现马赛克效应

采样小结

\[ \text{Spatial Image} \xrightarrow{\text{采样}} \text{Matrix Index} \ (N \times M) \]

1.3 量化(Quantization)

基本概念

  • 量化将连续灰度值映射为离散灰度级(Gray Levels)
  • 量化级数:\(K = 2^N\)(N 为比特深度/位深度,bit depth)
  • 8 位图像:\(K = 2^8 = 256\) 级灰度,范围 \([0, 255]\)
  • \(0\) 表示黑色(Black),\(2^N-1\) 表示白色(White)

动态范围与存储大小

  • 动态范围(Dynamic Range):图像中最亮与最暗部分的比值。动态范围越大,图像能展示的明暗层次越丰富
  • 存储大小(Storage Size)\(M \times N \times K\)(行 × 列 × 位深度)

量化效应

  • 量化级数越少,灰度层次越少,出现伪轮廓(False Contour)
  • \(K=8 \to K=4 \to K=2\):灰度阶跃越来越明显
  • 高动态范围(HDR):使用更高的位深度捕捉更丰富的光照信息

量化小结

\[ \text{Image Intensity} \xrightarrow{\text{量化}} \text{Matrix Value} \ (K = 2^N) \]
参数 含义 符号
矩阵行数 图像高度 \(M\)
矩阵列数 图像宽度 \(N\)
量化级数 灰度级数 \(K = 2^{\text{bit depth}}\)
存储大小 总存储空间 \(M \times N \times K\)

二、插值(Interpolation)

2.1 插值的定义

插值是一种基本工具,广泛用于图像的缩放、缩小、旋转和其他几何变换中。它是从已知范围内的离散数据点恢复连续数据的过程。

  • 1-D 插值:从 \((x_1, y_1)\) 恢复 \(y = f(x)\)
  • 2-D 插值:从 \((x_1, y_1, z_1)\) 恢复图像表面
  • 3-D 插值:体素插值(体积图像)

2.2 像素邻域(Pixel Neighborhood)

img

在 2-D 图像中,像素 \((x,y)\) 的邻域定义为:

  • 4-邻域(4-neighbors)\(N_4(p)\)

\(\((x+1,y), (x-1,y), (x,y+1), (x,y-1)\)\)

  • 8-邻域(8-neighbors)\(N_8(p)\)

\(\(N_4(p) \cup \{(x+1,y+1), (x-1,y+1), (x+1,y-1), (x-1,y-1)\}\)\)

2.3 为什么需要插值?

在对图像进行旋转、缩放等几何变换后: - 目标图像的某些像素可能没有对应的源像素(空缺) - 多个源像素可能映射到同一个目标像素 - 必须对源图像进行重采样(Resample)

img

解决思路:反向映射(Reverse Mapping)——从目标图像坐标反推源图像对应位置,再通过插值获取该位置的像素值。

2.4 常用插值方法

(1)最近邻插值(Nearest Neighbor, NN)

最简单的插值方法,直接取离目标点最近的源像素值

  • 优点:计算速度快
  • 缺点:会产生锯齿状边缘(图像不够平滑)

(2)双线性插值(Bilinear Interpolation)

使用目标点周围 4 个像素\(2 \times 2\) 邻域)进行线性插值:

\[f(x,y) = ax + by + cxy + d\]

其中 \(a, b, c, d\)\(N_4\) 邻域的 4 个像素确定。

img

计算步骤

首先沿 \(x\) 方向做两次线性插值得到 \(R_1\)\(R_2\)

\[R_1 = \frac{(x - x_1)(f_{21} - f_{11})}{x_2 - x_1} + f_{11}\]
\[R_2 = \frac{(x - x_1)(f_{22} - f_{12})}{x_2 - x_1} + f_{12}\]

然后在 \(y\) 方向上再做一次线性插值:

\[f(x,y) = \frac{(y - y_1)(R_2 - R_1)}{y_2 - y_1} + R_1\]
计算示例

img

已知 \((1,1)=2\), \((3,1)=4\), \((1,3)=6\), \((3,3)=8\),求 \((2.5, 2.25)\) 的值:

  1. 第一次线性插值(在 \(x\) 方向上):

\(\(R_1 = \frac{(2.5-1)(4-2)}{3-1} + 2 = 3.5\)\)

\(\(R_2 = \frac{(2.5-1)(8-6)}{3-1} + 6 = 7.5\)\)

  1. 第二次线性插值(在 \(y\) 方向上):

\(\(f(2.5, 2.25) = \frac{(2.25-1)(7.5-3.5)}{3-1} + 3.5 = 6\)\)

  • 优点:比最近邻更平滑
  • 缺点:有一定模糊效应

(3)双三次插值(Bi-Cubic Interpolation)

使用目标点周围 16 个像素\(4 \times 4\) 邻域)进行更高阶插值:

1-D 形式(使用 4 个点):

\[f(x) = \sum_{i=0}^{3} a_i x^i = a_0 + a_1 x + a_2 x^2 + a_3 x^3\]

满足条件:\(f(x_i) = y_i\)\(f(x_{i+1}) = y_{i+1}\)

使用拉格朗日基函数(Lagrange Basis Function)

\[L_i(x) = \prod_{k=0, k\neq i}^{3} \frac{x - x_k}{x_i - x_k}\]
\[f(x) = \sum_{i=0}^{3} y_i \cdot L_i(x)\]

2-D 形式(使用 16 个点):

\[f(x,y) = \sum_{i=0}^{3} \sum_{j=0}^{3} a_{ij} \cdot x^i \cdot y^j\]

其中 \(a_{ij}\)\(N_{16}\) 邻域的 16 个像素确定。

(4)其他方法

样条插值(Spline)、小波插值(Wavelet)、基于深度学习的超分辨率(Super-Resolution)等。

2.5 插值方法对比

方法 使用像素数 特点
最近邻 NN 1 个 快速但锯齿明显
双线性 Bilinear 4 个 平滑但有模糊
双三次 Bi-Cubic 16 个 最精细,计算量大

2.6 插值小结

插值 = 索引(x, y)+ 强度(v) 的综合恢复过程。


三、彩色图像处理(Color Image Processing)

3.1 彩色视觉基础(Color Fundamentals)

人眼中的感光细胞

  • 视锥细胞(Cones):负责彩色视觉
  • 人眼有约 \(6-7 \times 10^6\) 个视锥细胞
  • 65% 的视锥细胞对红光敏感,33% 对绿光敏感,2% 对蓝光敏感(但蓝光最敏感)
  • 因此三基色为 RGB

光谱分布

  • 反射(Reflect)+ 吸收(Absorption)= 入射光
  • RGB 三基色并不能合成所有颜色(存在可见色域的限制)

3.2 彩色模型(Color Models)

(1)RGB 模型

  • 基于硬件设备的彩色模型
  • 用于显示器、相机
  • 三个通道分别存储 R、G、B 的值
  • 每个通道 8 bits → 范围 \([0, 255]\)
  • 归一化后范围为 \([0, 1]\)
  • 像素深度(Pixel Depth):总位数 = \(8 \times 3 = 24\) bits
  • 可表示的颜色数:\((2^8)^3 = 16,777,216\) 种颜色

(2)CMY / CMYK 模型

  • 基于颜料和打印机的彩色模型
  • CMY 是 RGB 的补色:
\[\begin{bmatrix} C \\ M \\ Y \end{bmatrix} = \begin{bmatrix} 1 \\ 1 \\ 1 \end{bmatrix} - \begin{bmatrix} R \\ G \\ B \end{bmatrix}\]
  • CMYK:在 CMY 基础上增加 K(黑色,true black)
  • 原因:CMY 三色混合理论上产生黑色但实际效果不佳,需专用黑色

(3)HSI 模型

  • 基于人眼感知的彩色模型,将颜色分解为三个独立分量:
分量 含义 描述
Hue(色调) 混合波长 人眼感知的颜色类型(红、蓝、绿等)
Saturation(饱和度) 纯度 色调中白光量的多少,\(\text{Pink} = a \cdot \text{red} + b \cdot \text{white}\)
Intensity(亮度) 明暗 无色的亮度信息(与颜色无关)
RGB → HSI 转换公式
\[I = \frac{R + G + B}{3}\]
\[S = 1 - \frac{3}{R + G + B} \cdot \min(R, G, B)\]
\[H = \cos^{-1}\left\{\frac{0.5[(R - G) + (R - B)]}{\sqrt{(R - G)^2 + (R - B)(G - B)}}\right\}\]

img

转换示例

将 RGB 彩色图像分解为 H、S、I 三个通道: - Hue 通道:表示颜色种类 - Saturation 通道:颜色越鲜艳越亮(高饱和度),越淡越暗(低饱和度) - Intensity 通道:与灰度图类似,反映整体明暗

3.3 伪彩色(Pseudocolor)

定义

伪彩色(False Color):将灰度图像映射为彩色图像的技术。

为什么需要伪彩色?

  • 人眼能分辨的彩色色调和强度远多于灰度级
  • 人眼只能分辨约 30 种灰度,但可以分辨上千种颜色
  • 伪彩色能提供比灰度图像更丰富的信息

伪彩色的方法

(1)强度分层与颜色编码(Intensity Slicing and Color Coding)
  • 将灰度范围划分为多个区间
  • 每个区间分配不同颜色
  • 例如:用 8 种颜色对灰度图进行强度分层
(2)多模态融合(Multi-modality)
  • 将不同成像模态的图像分别赋给 R、G、B 通道
  • 例如:可见光(R+G+B)与近红外 IR(biomass content)融合
  • IR+G+B 合成能更清晰地表征地物信息
(3)标签着色(Assigning Colors to Labels)
  • 将分割结果中的不同标签分配不同颜色
  • 便于可视化分类/分割结果
(4)方向编码彩色图(Directional Encoded Colormap)
  • 用于纤维束追踪(Tractography)
  • 不同方向用不同颜色表示(如左右方向=红色,前后方向=绿色,上下方向=蓝色)
  • 生成方向编码彩色图(Directional Encoded Colormap)

3.4 彩色图像处理须知

  • 灰度图像:\(N \times M\)(2-D 矩阵)
  • 彩色图像:\(N \times M \times 3\)(3-D 矩阵,多一个颜色通道维度)
  • 彩色图像处理的基础方法与灰度图像相似,但需处理三个通道

四、本章总结(Outline)

基础图像概念

  • 采样(Sampling):空间化图像 → 矩阵索引 \(N \times M\)

    • 物理分辨率 ≠ 矩阵尺寸
    • 时间采样 vs 空间采样
  • 量化(Quantization):图像强度 → 矩阵值 \(K = 2^N\)

    • 比特深度决定灰度级数
    • 动态范围与存储大小 \(M \times N \times K\)
  • 插值(Interpolation):索引 \((x,y)\) + 强度 \((v)\)

    • 最近邻:1 个像素,速度快
    • 双线性:4 个像素,平滑但有模糊
    • 双三次:16 个像素,最精细
    • 反向映射 → 强度赋值

彩色图像处理

  • 彩色模型

    • RGB(显示器/相机)
    • CMY/CMYK(颜料/打印机),\(C=1-R\)
    • HSI(人眼感知),Hue/Saturation/Intensity
  • 伪彩色(Pseudocolor)

    • 伪彩色 ≠ 真彩色(False Color)
    • 强度分层、多模态融合、方向编码、标签着色
    • 提供比灰度图像更丰富的信息

历年卷解答

以下仅解答与本节(Lecture 2)知识相关的历年卷题目。


一、给图做切片,选择正确的一维结果(2020 / 2021 / 2022 均考)

知识点定位:采样(Sampling)中的 Line Plot

解题思路:对二维图像取一条线(切片),即为在该位置做一维剖面(Line Plot),得到沿该方向灰度值变化的一维曲线。该曲线反映了灰度值沿切片方向的变化趋势。

  • 如果在灰度均匀区域切片 → 一维曲线近似水平直线
  • 如果在灰度变化区域(如边缘处)切片 → 一维曲线有明显阶跃/跳变
  • 如果在渐变区域切片 → 一维曲线呈缓慢上升或下降趋势

具体答案取决于题目所给图像和切片位置。判断原则:切片结果 = 原图沿切片方向的灰度剖面曲线,需要与图像的几何结构和灰度分布对应。


二、空间变换 + 双线性插值(2020 / 2021)

知识点定位:插值(Interpolation)中的双线性插值

解题思路

  1. 空间变换(如旋转、缩放)后像素坐标通常变为非整数,无法直接对应到源图像的整数像素位置
  2. 采用反向映射(Reverse Mapping):从目标图像坐标 \((x',y')\) 逆向映射回源图像坐标 \((x,y)\)
  3. 对非整数坐标 \((x,y)\),用双线性插值计算该点的像素值

双线性插值核心公式

对于落在 \((x_1,y_1), (x_2,y_1), (x_1,y_2), (x_2,y_2)\) 四个已知像素之间的点 \((x,y)\)

先沿 \(x\) 方向线性插值:

\[R_1 = \frac{(x-x_1)f(x_2,y_1)+(x_2-x)f(x_1,y_1)}{x_2-x_1}\]
\[R_2 = \frac{(x-x_1)f(x_2,y_2)+(x_2-x)f(x_1,y_2)}{x_2-x_1}\]

再沿 \(y\) 方向线性插值:

\[f(x,y) = \frac{(y-y_1)R_2+(y_2-y)R_1}{y_2-y_1}\]

作图要点: - 标注四个已知像素的坐标和灰度值 - 标注目标点 \((x,y)\) 位置 - 标出 \(R_1\)(下边插值结果)和 \(R_2\)(上边插值结果) - 最终 \(f(x,y)\)\(R_1\)\(R_2\) 之间


三、灰阶的动态范围主要改变什么(2021)

知识点定位:量化(Quantization)中的动态范围

答案:动态范围主要改变的是图像的对比度和灰度层次

  • 动态范围 = 图像中最亮值 / 最暗值,由比特深度(bit depth)决定
  • 例如 8-bit 图像,动态范围为 256 个灰阶 \([0, 255]\)
  • 动态范围越大 → 能区分的灰度层次越丰富 → 对比度越高
  • 动态范围越小 → 相邻灰度级之间差距大 → 出现伪轮廓(False Contour)

核心结论:灰阶的动态范围主要改变图像的对比度。(增加位深度 → 增大动态范围 → 灰度表现更加细腻)