图像处理和"理解"是计算机视觉(Computer Vision)的核心领域。理解图像如何被表示,是第一步也是最关键的一步。
1. 计算机如何"看见"图像
所有图像都是"数据",以某种数据结构被存储和处理的一组组数字。根据表示方式的不同,图像可以分为位图 和矢量图两大类。
1.1 位图
可以把位图想象成一幅巨大的"十字绣"或"乐高拼图",每一格都有自己的颜色。
- 位图又称为栅格图像,图像是由多个小方块组成的网格。每个小方块(像素,Pixel = Picture Element)有特定的位置和颜色值。
- 计算机记录存储网格的宽度、高度和每个像素的颜色。
- 位图包含的像素总量是确定的。当放大时,计算机通过算法填充新的图像,图像变模糊,出现马赛克。
- 位图适合表现细腻的色彩图片。
图像的分辨率描述的就是像素的排列方式,即图像的宽度和高度分别有多少个像素点。
分辨率 = 图像宽度(像素) × 图像高度(像素)
比如 1920 × 1080, 表示图像宽 1920 像素、高 1080 像素,总像素数 = 1920 × 1080 = 2,073,600
分辨率定义了像素的排列网格,像素总数是分辨率的计算结果。
bash
比如一个3×3 的黑白小图:
[白][黑][白]
[黑][白][黑]
[白][黑][白]
在计算机中,可以被表示为一个3×3 的矩阵:
[[255, 0, 255],
[ 0, 255, 0],
[255, 0, 255]]
在计算机中,位图 是由像素组成的图像。根据每个像素所包含的颜色信息不同,位图可以分为三类:
1. 二值图像(Binary Image)
2. 灰度图像(Grayscale Image)
3. 彩色图像(Color Image)
1.1.1 二值图像
二值图像是一种最简单的图像形式,每个像素只有两种可能的取值:0 或 1(通常表示为黑色或白色)。它也被称为黑白图像。
- 每个像素用1位(bit)表示,取值范围:0 ~1
- 单通道(Channel = 1)
- 存储空间少、速度快、常用于分割结果
1.1.2 灰度图像
灰度图像是介于二值图像和彩色图像之间的中间形态。每个像素表示亮度(明暗程度),而不是颜色。像素值越大越亮,越小越暗。
- 每个像素使用 8 位(bit) 表示 → 取值范围:0 ~ 255
- 单通道(Channel = 1)
- 比彩色图节省空间、保留明暗细节
- 比如过去的黑白照片、黑白电影
1.1.3 彩色图像
常用的色彩模型是 RGB 模型(Red, Green, Blue),通过三种颜色通道的不同强度组合出不同种颜色。
- 每个像素用24 位(bit)表示,(R,G,B) 各0~255
- 三个通道(Channel = 3)
1.1.4 常见位图格式及特点
| 格式 | 全称 | 是否压缩 | 是否支持透明 | 典型用途 |
|---|---|---|---|---|
| JPG / JPEG | Joint Photographic Experts Group | 有损压缩 | ❌ 不支持 | 照片、网页图片 |
| PNG | Portable Network Graphics | 无损压缩 | ✅ 支持 | 图标、透明背景图 |
| GIF | Graphics Interchange Format | 有损 | ✅ 支持 | 动画、简单图形 |
| BMP | Bitmap File Format | 无压缩 | ✅ 支持 | Windows 原生图像 |
| WebP | Google 开发的新格式 | 有/无损可选 | ✅ 支持 | 网页优化图像 |
1.2 矢量图
矢量图不是由像素构成,而是通过数学公式来描述图形的形状、位置、颜色等属性。比如一条直线可以用两个端点坐标 (x1,y1) 和 (x2,y2) 表示;一个圆可以用圆心 (cx,cy) 和半径 r 描述。
- 用数学公式来定义图形中的形状、线条和颜色。
- 由路径构成,路径由点线和它们之间的数学关系构成。计算机存储的是图形的绘制指令。
- 矢量图与分辨率无关,放大时计算机会根据数学公式重新计算并渲染图形,因此不会失真。
- 矢量图文件体积较小,不适合表现细腻的色彩图片。
1.3 位图和矢量对比
| 位图 | 矢量图 | |
|---|---|---|
| 组成 | 像素 | 数学路径(点、线、曲线) |
| 缩放 | 放大失真 | 任意缩放不失真 |
| 文件大小 | 分辨率越高文件越大 | 一般较小 |
| 色彩丰富度 | 高,适合真实图像 | 有限(适合纯色扁平化设计) |
| 编辑灵活性 | 难以局部修改 | 易于拆分、重着色、变形 |
| 在计算机视觉 | 主要研究对象(图像识别、分割等) | 较少,一般转为位图处理 |