OpenCV多摄像头同步调用与帧处理实战 - 第2节

2. 摄像头基础

摄像头成像原理 · 分辨率与帧率 · 色彩空间(RGB、YUV、HSV)

2.1 摄像头成像原理

摄像头通过镜头将光线聚焦到图像传感器上,传感器将光信号转换为电信号,再经过模数转换(ADC)生成数字图像。核心部件包括:

  • 镜头(Lens):控制光线进入量,决定视场角和景深。
  • 图像传感器(Sensor):CCD 或 CMOS,将光子转换为电子。
  • ISP(图像信号处理器):去马赛克、白平衡、降噪、色彩校正。
传感器 ISP 数字图像 入射光线 光学镜头 CMOS/CCD 图像信号处理
💡 核心要点: 摄像头成像本质是“光 → 电 → 数字”的转换。ISP 对原始 RAW 数据进行插值、白平衡、伽马校正等,最终输出标准色彩空间。

2.2 分辨率与帧率

分辨率 表示图像包含的像素数量,常见规格:

分辨率名称像素尺寸总像素(约)典型应用
VGA640 × 4800.3 MP老式摄像头、嵌入式
HD1280 × 7200.9 MP网络直播、视频通话
Full HD1920 × 10802.1 MP安防监控、消费级
4K UHD3840 × 21608.3 MP工业检测、医疗影像

帧率(FPS) 表示每秒采集的图像帧数。帧率与分辨率相互制约:

  • 高分辨率 → 单帧数据量大 → 带宽/处理压力大 → 帧率受限。
  • 高帧率(如 60/120 fps)适合运动捕捉、高速检测。
  • USB 3.0 / GbE 接口可支持 1080p@60fps 或 4K@30fps。
640×480 VGA · 90fps 1920×1080 Full HD · 30fps 3840×2160 4K · 15fps 分辨率 ↑ 帧率 ↓ (带宽限制)
⚡ 实战建议: 多摄像头系统中,建议根据任务平衡分辨率与帧率。例如:运动检测用 720p@30fps,车牌识别用 1080p@15fps。

2.3 色彩空间(RGB、YUV、HSV)

色彩空间是颜色表示的数学模型。摄像头和计算机视觉中最常用的三种:

🔴 RGB 色彩空间

由红(R)、绿(G)、蓝(B)三通道叠加,每个通道 0-255(8bit)。适用于显示、存储。但通道间相关性高,不适合直接做颜色分析。

R G B

🎞️ YUV 色彩空间

亮度分量 Y 与色度分量 U、V 分离。人眼对亮度更敏感,因此可对 UV 子采样(如 YUV420)压缩数据。摄像头原始输出多为 YUV 格式。

分量含义范围
Y亮度(Luma)16 ~ 235
U (Cb)蓝色色度16 ~ 240
V (Cr)红色色度16 ~ 240
Y 亮度 U 蓝色色度 V 红色色度

🎨 HSV 色彩空间

色调(Hue)、饱和度(Saturation)、明度(Value)。更接近人类感知,常用于颜色分割、目标跟踪。

  • H:0°~180°(OpenCV 中),表示颜色类型。
  • S:0~255,颜色纯度。
  • V:0~255,亮度/明度。
H 色调 0° ~ 180° S 饱和度 / V 明度
📌 色彩空间转换(OpenCV 示例):
import cv2
# 读取 BGR 图像(OpenCV 默认 BGR)
img_bgr = cv2.imread('frame.jpg')

# 转换为 RGB
img_rgb = cv2.cvtColor(img_bgr, cv2.COLOR_BGR2RGB)

# 转换为 YUV
img_yuv = cv2.cvtColor(img_bgr, cv2.COLOR_BGR2YUV)

# 转换为 HSV
img_hsv = cv2.cvtColor(img_bgr, cv2.COLOR_BGR2HSV)