CV 概览与数字图像基础:RGB/HSV 颜色空间、像素矩阵与位深度
引言
计算机视觉(Computer Vision, CV)是人工智能三大感知分支之一,核心任务是让计算机“看明白”世界——从图像/视频中提取结构化信息,完成认知层面的任务。
在啃下目标检测、图像分割、Transformer大模型这些“硬骨头”前,先搞懂「图像到底是什么」「计算机怎么存图像」「怎么把颜色给计算机说清楚」是100%必要的。本文用大白话+OpenCV代码,一次性讲透这三个核心底层。
📂 所属阶段:第一阶段 — 图像处理基石(传统 CV 篇)
🔗 相关章节:OpenCV 快速入门 · 图像增强与滤波
1. 什么是计算机视觉?
1.1 CV 的三个处理层次
按抽象程度/处理复杂度,CV 任务可分为三层,层层递进:
1.2 高频应用场景(身边的CV)
2. 数字图像的本质:像素矩阵
2.1 从“照片”到“矩阵”
现实世界的照片是连续的光信号,但计算机只能处理离散的数字。数码相机/扫描仪会做两步操作把光变成矩阵:
- 采样:把照片分成 H(高)× W(宽)个小格子——每个格子叫像素(Pixel)
- 量化:给每个像素的亮度/颜色分配一个数值范围
灰度图像 vs 彩色图像
2.2 位深度:决定图像的“精细度”
位深度(Bit Depth)指每个像素通道存储的二进制位数,位数越多,能表示的颜色/灰度值越丰富:
- 8位:最常用!每个通道0~255(2⁸),总约1678万种RGB颜色
- 16位:医学/天文影像专用,每个通道0~65535(2¹⁶)
- 32位浮点数:深度学习/高精度处理用,亮度归一化到0.0~1.0
3. 两种核心颜色空间
3.1 RGB:计算机最“舒服”的格式
RGB(Red, Green, Blue)基于光的加色混合——红、绿、蓝三束光叠加形成各种颜色,是显示器/图像存储的原生格式。
常见RGB/BGR值(OpenCV用BGR!)
OpenCV 颜色空间转换的关键坑
OpenCV 早期适配硬件时选了 BGR 顺序,至今保留。和 Matplotlib/Pillow 一起用必须转换:
3.2 HSV:人类最“直观”的格式
HSV(Hue, Saturation, Value)将颜色属性分离——更符合我们说“红色鲜艳一点、暗一点”的逻辑,是颜色分割/检测的首选。
三个分量的含义(OpenCV专属值域!)
实战:用HSV做红色物体检测
红色有特殊处理——在标准色轮上从350°到10°,对应OpenCV的010和170179两个区间:
4. 实战项目:快速分析一张图像的信息
整合前面的知识点,写一个函数打印图像的核心属性:
5. 总结
核心知识点回顾
- 图像本质:连续光→离散像素矩阵(H×W或H×W×3)
- 位深度:常用8位(0~255),决定图像精细度
- 颜色空间:
- RGB/BGR:计算机原生,硬件友好
- HSV:人类直观,颜色分离,颜色检测首选
- OpenCV坑点:默认BGR,和其他库配合需转换
💡 最后提醒:像素矩阵是CV的一切!所有高级算法(比如CNN)本质上都是在“玩矩阵”——加减乘除、卷积、池化……建议多手动生成小矩阵、修改像素值,建立直观的“矩阵感”!

