第2章 · 图像基础
数字图像表示 · 像素 · 分辨率 · 色彩空间 · 坐标系 · OpenCV 简介
1. 像素与分辨率
像素是数字图像的最小信息单元,每个像素存储亮度或颜色值。分辨率指图像中像素的总数(宽×高),决定图像的细节层次。
图1 像素网格与分辨率示意
2. 色彩空间
色彩空间是颜色在数学上的表示模型。常见的包括 RGB、BGR(OpenCV 默认)、HSV、灰度等。
| 色彩空间 | 通道 | 说明 |
|---|---|---|
| RGB | R, G, B | 红绿蓝三通道,面向显示 |
| BGR | B, G, R | OpenCV 默认顺序 |
| 灰度 | 单通道 | 亮度信息,0~255 |
| HSV | H, S, V | 色调、饱和度、明度 |
图2 RGB 三通道示意
3. 图像坐标系
OpenCV 采用 行-列 坐标系:原点 (0,0) 位于左上角,x 轴向右(列),y 轴向下(行)。
图3 OpenCV 图像坐标系:原点左上,x向右,y向下
4. OpenCV 简介与安装
OpenCV (Open Source Computer Vision Library) 是跨平台计算机视觉库,提供数百种图像处理函数。Python 接口为 cv2。
安装命令
# 使用 pip 安装核心库
pip install opencv-python
# 如需额外 contrib 模块
pip install opencv-contrib-python
验证安装:
import cv2
print(cv2.__version__) # 例如 4.9.0
OpenCV 模块架构(示意)
图4 OpenCV 主要模块示意(core, imgproc, highgui, videoio, objdetect)
5. 读取与显示图像(快速示例)
import cv2
# 读取图像 (BGR 格式)
img = cv2.imread('example.jpg')
# 获取像素值 (行, 列)
px = img[100, 200] # BGR 三元组
print(px)
# 显示图像
cv2.imshow('窗口', img)
cv2.waitKey(0)
cv2.destroyAllWindows()