第1章 图像预处理概述
✨ 重要性 · 应用领域 · 基本流程框架
01 / 30
1.1 图像预处理的重要性
图像预处理是计算机视觉系统的基石。原始图像往往受到光照不均、噪声干扰、几何畸变等因素影响,直接进行高级分析(检测、识别、分割)会导致性能急剧下降。通过预处理,可以显著提升图像质量,增强关键特征,抑制无关信息,为后续算法提供稳定、规范的输入。
预处理承上启下:从原始图像到高质量输入
1.2 核心应用领域
| 领域 | 典型任务 | 预处理关键点 |
|---|---|---|
| 🏥 医学影像 | CT/MRI 病灶分割、X光骨折检测 | 去噪、对比度增强、归一化 |
| 🚗 自动驾驶 | 车道线检测、行人识别、交通标志分类 | 光照校正、几何校正、去模糊 |
| 📹 安防监控 | 人脸识别、异常行为分析、车牌识别 | 直方图均衡、去雾、锐化 |
| 🌾 农业遥感 | 作物长势分析、病虫害检测 | 多光谱对齐、大气校正 |
三大典型应用领域及预处理侧重
1.3 基本流程框架
一个通用的图像预处理管线通常包含以下阶段,各阶段可根据任务灵活组合:
- 图像获取与解码 —— 读取图像文件、视频帧或传感器数据。
- 几何校正 —— 旋转、裁剪、缩放、透视变换等。
- 色彩与亮度调整 —— 色彩空间转换、直方图均衡、亮度归一化。
- 去噪与平滑 —— 高斯滤波、中值滤波、双边滤波等。
- 增强与锐化 —— 拉普拉斯、USM、自适应增强。
- 归一化与标准化 —— 像素值缩放、均值方差标准化。
图像预处理基本流程框架(模块化管线)
预处理代码片段 (Python / OpenCV)
import cv2
import numpy as np
# 读取图像
img = cv2.imread('input.jpg')
# 1. 几何校正:缩放至统一尺寸
img_resized = cv2.resize(img, (640, 480))
# 2. 色彩转换:BGR → 灰度
gray = cv2.cvtColor(img_resized, cv2.COLOR_BGR2GRAY)
# 3. 去噪:高斯滤波
blurred = cv2.GaussianBlur(gray, (5, 5), 1.0)
# 4. 增强:直方图均衡化
equalized = cv2.equalizeHist(blurred)
# 5. 归一化
normalized = equalized / 255.0
cv2.imwrite('preprocessed.jpg', (normalized * 255).astype(np.uint8))