第1章 图像处理基础概念与彩色图像处理
一、图像数字化基础(Basic BIP Concepts)
1.1 数字图像的类型
位图(bitemap): 由许多像素表示的图像,每个像素具有颜色属性和位置属性。位图可分为强度图像、索引彩色图像和真彩色图像。
矢量图像(Vector Images):利用几何形状(如点、线段和曲线)来描述图像的轮廓,并根据轮廓用颜色填充图像以展现图像内容。矢量图形通过矢量(向量)来描述边缘方向,从而描绘图像的轮廓。
区别:
-
因为矢量图形使用几何图形来描述轮廓,因此图像可以无限放大而仍然清晰显示。而位图放大后会变模糊。
-
矢量图形难以生成具有丰富色调或过多色彩变化的图像,例如自然场景图像。
-
位图使用像素来形成图像,适合展示色彩丰富的图像。医学图像基本上是位图。
-
位图文件通常比矢量图形更大。
1.2 数字图像的存储格式
BMP(未压缩):每个像素位置对应图像中该像素的空间位置,位图数据值对应相应像素的亮度值。
TIFF(标签图像文件格式):支持多种编码方式,包括未压缩的RGB、RLE压缩及JPEG压缩等,同时具备可扩展性、便捷性及可修改性。ATTIFF图像由三个数据结构组成:文件头、一个或多个名为IFDs的目录(其中包含标记指针)以及数据本身。
JPG:JPEG是最为流行的高效率静态图像压缩标准格式之一。在保存图像文件时,JPEG通过压缩编码来减小文件大小,并删除那些对视觉认知而言并不重要的图像信息,从而节省存储空间并降低传输流量。
GIF(图形交换格式):基于LZW算法的连续色调无损压缩格式,其压缩率通常约为50%,常用于网页动画。
DICOM:医学影像与通信,定义了一种可用于数据交换的医学图像格式,其质量符合临床需求。广泛应用于医学影像(如X光、CT、磁共振成像、超声等),并在眼科和牙科等其他医疗领域也得到广泛接受。
1.3 图像数字化的两个步骤
物理信号(连续信号)经过数字化(Digitalization)变成数字信号,包含两个核心步骤:
采样(Sampling)+ 量化(Quantization)→ 数字图像
1.4 采样(Sampling)
基本概念
- 采样将空间连续的图像 \(f(x,y)\) 转换为离散的像素矩阵
- 采样结果:图像大小 \(M \times N\)(矩阵的行数和列数)
- 采样分为:
- 时间采样(Temporal Sampling):沿时间轴离散化(一维信号)
- 空间采样(Spatial Sampling):沿空间轴离散化,将图像空间划分成网格(二维信号,图像)
一维切片(Line Plot)
对一幅二维图像沿某个方向取一条线(切片),得到该位置像素灰度值沿该方向变化的一维曲线,称为 Line Plot。这是理解图像空间变化的重要工具——可以看作是图像在该位置的"剖面图"。\(0\) 表示黑色(Black),\(2^N-1\) 表示白色(White)
三种典型的切片方向:水平切片(沿 \(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\))

采样效应
- 采样点越密集(矩阵越大),图像细节保留越多
- \(256 \times 256 \to 128 \times 128 \to 64 \times 64 \to 16 \times 16\):随着采样数减少,图像变得模糊
1.5 量化(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):使用更高的位深度捕捉更丰富的光照信息
| 参数 | 含义 | 符号 |
|---|---|---|
| 矩阵行数 | 图像高度 | \(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)

在 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)

解决思路:反向映射(Reverse Mapping)——从目标图像坐标反推源图像对应位置,再通过插值获取该位置的像素值。
2.4 常用插值方法
(1)最近邻插值(Nearest Neighbor, NN)
最简单的插值方法,直接取离目标点最近的源像素值。
- 优点:计算速度快
- 缺点:会产生锯齿状边缘(图像不够平滑)
(2)双线性插值(Bilinear Interpolation)
使用目标点周围 4 个像素(\(2 \times 2\) 邻域)进行线性插值:
其中 \(a, b, c, d\) 由 \(N_4\) 邻域的 4 个像素确定。

计算步骤
首先沿 \(x\) 方向做两次线性插值得到 \(R_1\) 和 \(R_2\):
然后在 \(y\) 方向上再做一次线性插值:
计算示例

已知 \((1,1)=2\), \((3,1)=4\), \((1,3)=6\), \((3,3)=8\),求 \((2.5, 2.25)\) 的值:
- 第一次线性插值(在 \(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 $$
- 第二次线性插值(在 \(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_i) = y_i\),\(f(x_{i+1}) = y_{i+1}\)
使用拉格朗日基函数(Lagrange Basis Function):
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 个 | 最精细,计算量大 |
三、彩色图像处理(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 的补色:
- CMYK:在 CMY 基础上增加 K(黑色,true black)
- 原因:CMY 三色混合理论上产生黑色但实际效果不佳,需专用黑色
(3)HSI 模型
- 基于人眼感知的彩色模型,将颜色分解为三个独立分量:
| 分量 | 含义 | 描述 |
|---|---|---|
| Hue(色调) | 混合波长 | 人眼感知的颜色类型(红、蓝、绿等) |
| Saturation(饱和度) | 纯度 | 色调中白光量的多少,\(\text{Pink} = a \cdot \text{red} + b \cdot \text{white}\) |
| Intensity(亮度) | 明暗 | 无色的亮度信息(与颜色无关) |
RGB → HSI 转换公式

转换示例
将 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)
- 强度分层、多模态融合、方向编码、标签着色
- 提供比灰度图像更丰富的信息
历年卷解答
一、给图做切片,选择正确的一维结果(2020 / 2021 / 2022 均考)
知识点定位:采样(Sampling)中的 Line Plot
解题思路:对二维图像取一条线(切片),即为在该位置做一维剖面(Line Plot),得到沿该方向灰度值变化的一维曲线。该曲线反映了灰度值沿切片方向的变化趋势。
- 如果在灰度均匀区域切片 → 一维曲线近似水平直线
- 如果在灰度变化区域(如边缘处)切片 → 一维曲线有明显阶跃/跳变
- 如果在渐变区域切片 → 一维曲线呈缓慢上升或下降趋势
具体答案取决于题目所给图像和切片位置。判断原则:切片结果 = 原图沿切片方向的灰度剖面曲线,需要与图像的几何结构和灰度分布对应。注意点:0为黑色,最大值为白色
二、空间变换 + 双线性插值(2020 / 2021)
知识点定位:插值(Interpolation)中的双线性插值
解题思路:
- 空间变换(如旋转、缩放)后像素坐标通常变为非整数,无法直接对应到源图像的整数像素位置
- 采用反向映射(Reverse Mapping):从目标图像坐标 \((x',y')\) 逆向映射回源图像坐标 \((x,y)\)
- 对非整数坐标 \((x,y)\),用双线性插值计算该点的像素值
双线性插值核心公式:
对于落在 \((x_1,y_1), (x_2,y_1), (x_1,y_2), (x_2,y_2)\) 四个已知像素之间的点 \((x,y)\):
先沿 \(x\) 方向线性插值:
再沿 \(y\) 方向线性插值:
作图要点:
-
标注四个已知像素的坐标和灰度值
-
标注目标点 \((x,y)\) 位置
-
标出 \(R_1\)(下边插值结果)和 \(R_2\)(上边插值结果)
-
最终 \(f(x,y)\) 在 \(R_1\) 和 \(R_2\) 之间
三、灰阶的动态范围主要改变什么(2021)
知识点定位:量化(Quantization)中的动态范围
答案:动态范围主要改变的是图像的对比度和灰度层次。
- 动态范围 = 图像中最亮值 / 最暗值,由比特深度(bit depth)决定
- 例如 8-bit 图像,动态范围为 256 个灰阶 \([0, 255]\)
- 动态范围越大 → 能区分的灰度层次越丰富 → 对比度越高
- 动态范围越小 → 相邻灰度级之间差距大 → 出现伪轮廓(False Contour)
核心结论:灰阶的动态范围主要改变图像的对比度。(增加位深度 → 增大动态范围 → 灰度表现更加细腻)
实验(LAB1)
实验 1:灰度渐变图像生成与马赫带效应
实验内容:生成 \(256 \times 256\) 平滑渐变图像和条带渐变图像(条带宽 16 像素,步长 16)
涉及原理:
- 采样与量化:将连续的灰度变化离散化为 \(256 \times 256\) 个像素,每个像素用 8-bit 整数 \([0,255]\) 表示
- 马赫带效应(Mach Band Effect):人类视觉系统中视网膜神经节细胞的侧抑制(Lateral Inhibition)机制造成的视错觉。在两个亮度不同的相邻均匀条带交界处,人眼感知到暗侧边缘更暗、亮侧边缘更亮——尽管物理上每个条带内部亮度完全均匀。这说明人眼感知的亮度并不完全等于物理亮度
- 该效应提醒我们:在医学图像分析中,必须考虑人眼视觉特性对图像判断的影响
实验 2:灰度量化与伪轮廓
实验内容:读取灰度图像,将灰度级从 256 级压缩到 \(2^n\) 级(分别取 \(n=8,6,4\)),观察效果
涉及原理:
- 量化(Quantization):将连续/高精度灰度值映射到有限个离散灰度级。量化级数 \(K = 2^n\),\(n\) 为位深度(bit depth)
- 量化误差与伪轮廓(False Contouring):当灰度级减少到不足以平滑过渡时,原本连续的灰度变化区域出现阶梯状色块(伪轮廓)。\(n=6\)(64级)时人眼几乎无法察觉差异;\(n=4\)(16级)时伪轮廓非常明显
- 这解释了为什么 CT、MRI 等医学图像通常采用 12-bit 或 16-bit 高动态范围存储——微小的灰度变化可能包含关键的病理信息,低比特深度会导致信息丢失
实验 3:图像降采样/上采样与灰度剖面分析
实验内容:将图像缩小至 \(1/4\) 后再放大 4 倍恢复原尺寸,对比特定列的灰度剖面线(Profile)
涉及原理:
- 双线性插值(Bilinear Interpolation):使用目标点周围 \(2 \times 2\)(4 个像素)进行线性插值来估计未知像素值,缩放操作中
order=1即使用双线性插值 - 降采样的不可逆信息丢失:缩小图像时丢弃了高频细节信息(如边缘、纹理的精细变化)。再放大时,插值算法只能平滑地填补像素,无法恢复已丢失的高频信息
- 灰度剖面线(Profile / Line Plot):沿图像某列取灰度值绘制一维曲线。原图剖面线包含丰富的高频起伏(剧烈变化),而恢复后的剖面线更平滑(高频信息丢失),直观展示了采样定理的约束——低于 Nyquist 频率的采样导致不可逆的信息损失
- 这强调了医学影像采集阶段保持高空间分辨率的重要性
实验 4:阈值分割与伪彩色叠加
实验内容:设定阈值(\(I > \text{threshold}\))生成掩膜,将掩膜区域在红色通道高亮,生成彩色叠加图像
涉及原理:
- 阈值分割(Thresholding):根据像素灰度值与设定阈值的大小关系,将图像划分为目标区域和背景区域,生成二值掩膜(Mask)。这是最简单的图像分割方法
- 单通道到多通道的转换:灰度图像 \(N \times M\) → 三通道 RGB 图像 \(N \times M \times 3\),通过
np.stack复制三个相同的灰度通道 - 伪彩色叠加(Pseudocolor Overlay):利用掩膜对特定通道赋值,是一种强度分层(Intensity Slicing)的伪彩色技术。将 ROI 区域在红色通道设为 255(亮红),绿色和蓝色通道清零 → 目标区域呈现红色高亮
- 阈值选择的敏感性:阈值降低 → 掩膜条件宽松 → 更多像素被标记(可能包含伪阳性);阈值升高 → 掩膜条件严苛 → 只有极亮区域被标记(可能遗漏目标)。这体现了医学图像分割中最优阈值选择的重要性——需根据不同组织的灰度分布特征来设定阈值