图像中的"多少位",通常表示:
一个像素总共使用多少个二进制位表示。
但在实际交流中,"8位RGB图"有时表示"每个通道8位",此时也可称之为24位RGB图,因此需要结合通道数判断,避免歧义。
一、核心对比表
| 图像类型 | 常见通道组成 | 每通道位数 | 每像素总位数 | 每像素字节数 | 每通道取值范围 | 常见用途 |
|---|---|---|---|---|---|---|
| 8位图 | 单通道灰度或索引 | 8 bit | 8 bit | 1 Byte | 0~255 | 灰度检测、二值图存储、索引图 |
| 24位图 | RGB三通道 | 8 bit | 24 bit | 3 Byte | 每通道0~255 | 普通彩色照片、工业彩色图 |
| 32位图 | RGBA四通道,或特殊RGB格式 | 通常8 bit | 32 bit | 4 Byte | 每通道0~255 | 透明图像、GUI、图像叠加 |
| 48位图 | RGB三通道 | 16 bit | 48 bit | 6 Byte | 每通道0~65535 | 高精度摄影、扫描、工业和科研图像 |
二、8位图
1. 常见含义
"8位图"最常见的含义是:
单通道 × 8 bit = 每像素8 bit
即:1×8=8 bit
每个像素占: 8 bit=1 Byte
像素值范围为: 0~255
2. 常见类型
8位灰度图
像素值直接表示亮度:
0:黑色
255:白色
中间值:不同程度的灰色
8位索引颜色图
像素值不是直接的灰度,而是调色板编号:
像素值5 → 查找调色板第5种颜色
最多可以表示:2^8=256种索引颜色。
8位存储的二值图
虽然逻辑上只有:
0和255
但每个像素仍可能占1字节。
3. 常见格式
.pgm.png.bmp.tif.jpg
4. 优势
- 数据量较小;
- 处理速度快;
- 适合灰度分析;
- 适合工业检测、边缘检测、阈值分割和模板匹配。
5. 局限
- 只能表示256个灰度级;
- 无法直接表示丰富的颜色;
- 经过多次图像增强后可能产生灰度断层。
三、24位图
1. 常见含义
24位图通常指标准RGB彩色图:
R:8 bit
G:8 bit
B:8 bit
因此: 8+8+8=24 bit
每像素占: 24÷8=3 Byte
2. 颜色数量
每个通道有256种取值: 256×256×256=16,777,216
因此24位RGB图理论上可以表示约1677万种颜色。
3. 像素示例
| RGB值 | 表示颜色 |
|---|---|
(0, 0, 0) |
黑色 |
(255, 255, 255) |
白色 |
(255, 0, 0) |
红色 |
(0, 255, 0) |
绿色 |
(0, 0, 255) |
蓝色 |
(128, 128, 128) |
灰色 |
4. 常见格式
.jpg.jpeg.png.bmp.tif.webp.ppm
5. 常用场景
- 普通照片;
- 手机和相机图像;
- 彩色工业检测;
- 深度学习目标检测;
- 彩色分类;
- 印刷和颜色缺陷检测。
6. 优势
- 能表示丰富的颜色;
- 兼容性非常好;
- 适合显示和普通图像处理;
- 文件格式支持广泛。
7. 局限
- 数据量是8位灰度图的3倍;
- 不支持透明度;
- 每通道只有256级,精细调整时可能产生色阶断层。
四、32位图
1. 最常见含义:RGBA图像
32位图通常表示:
R:8 bit
G:8 bit
B:8 bit
A:8 bit
其中A为Alpha透明度通道。
因此: 8+8+8+8=32 bit
每个像素占: 32÷8=4 Byte
2. Alpha通道含义
通常:
A = 0:完全透明
A = 255:完全不透明
例如:
(255, 0, 0, 255)
表示完全不透明的红色。
(255, 0, 0, 128)
表示半透明红色。
3. 常见格式
.png.tif.webp.tga.bmp,部分32位BMP.psd
4. 常用场景
- 软件图标;
- GUI界面;
- 网页透明图片;
- 图像叠加;
- 游戏贴图;
- 缺陷区域Overlay;
- 抠图和图像合成。
5. 优势
- 支持透明度;
- 便于图像融合和叠加;
- 内存中常按4字节对齐,部分情况下处理效率较高;
- 可保存透明背景。
6. 局限
- 比24位RGB图多占约三分之一空间;
- JPG不支持Alpha通道;
- 有些32位图中的第4个字节不一定真正用于透明度。
7. 32位图并不一定都是RGBA
"32位图"也可能表示其他情况:
情况一:RGBX
R + G + B + 未使用字节
第四个字节只是为了内存对齐,不表示透明度。
情况二:BGRA
通道顺序为:
B、G、R、A
OpenCV中经常出现BGRA格式。
情况三:10-bit RGB格式
例如:
R:10 bit
G:10 bit
B:10 bit
附加位:2 bit
总共也是32位。
情况四:单通道float32图像
一个像素可能是:
1个float32数值
此时每像素也是32位,但它不是RGBA图,而可能是:
- 深度图;
- 概率图;
- 特征图;
- 算法中间结果。
所以:
"32位图"必须结合通道数和数据类型判断。
五、48位图
1. 常见含义
48位图通常是高精度RGB图像:
R:16 bit
G:16 bit
B:16 bit
因此: 16+16+16=48 bit
每个像素占: 48÷8=6 Byte
2. 每通道取值范围
16位无符号整数的范围是: 0~65535
每个通道可表示: 2^16=65536个等级。
相比24位RGB图的每通道256级,48位RGB图的亮度和颜色过渡更加细腻。
3. 理论颜色数量
65536^3=2^48
理论上约可表示:
281万亿种颜色
但实际显示器和人眼通常无法直接显示或区分这么多颜色,其主要价值在于:
- 保存更多原始信息;
- 提供更大的后期处理空间;
- 减少量化误差。
4. 常见格式
.tif.tiff.png,支持16位每通道.dng.raw.psd.exr,也可能使用浮点数
JPG通常不用于保存标准48位RGB数据。
5. 常用场景
- 专业摄影;
- 扫描仪输出;
- 医学图像;
- 天文图像;
- 工业高动态范围成像;
- 高精度颜色分析;
- 科学图像处理;
- 多次图像增强和颜色调整。
6. 优势
- 颜色和亮度层级更多;
- 图像渐变更平滑;
- 多次处理后不容易出现色阶断层;
- 适合高精度计算;
- 能保留更多暗部和亮部细节。
7. 局限
- 数据量是24位RGB图的2倍;
- 普通显示器通常不能完整显示;
- 很多普通软件会自动转换成24位;
- 计算量、存储量和带宽需求更高。
六、数据量对比
假设图像尺寸为:
1024 × 1024
不考虑文件头、行对齐和压缩。
计算公式: 数据量 = 宽度 × 高度 × 每像素字节数
| 图像类型 | 每像素字节数 | 原始像素数据量 |
|---|---|---|
| 8位图 | 1 Byte | 1,048,576 Byte,约1 MiB |
| 24位图 | 3 Byte | 3,145,728 Byte,约3 MiB |
| 32位图 | 4 Byte | 4,194,304 Byte,约4 MiB |
| 48位图 | 6 Byte | 6,291,456 Byte,约6 MiB |
这里使用的是: 1 MiB=1024×1024 Byte
实际保存为PNG、JPG或TIFF后,文件大小还会受到压缩方式和图像内容影响。
七、颜色精度对比
| 图像类型 | 每通道等级 | 理论表示能力 |
|---|---|---|
| 8位灰度图 | 256级灰度 | 256种灰度 |
| 24位RGB图 | 每通道256级 | 约1677万种颜色 |
| 32位RGBA图 | RGB约1677万色,加256级透明度 | 彩色加透明效果 |
| 48位RGB图 | 每通道65536级 | 约281万亿种颜色组合 |
八、容易混淆的说法
1. "8位图"和"8位RGB图"不同
8位图
通常指:
单通道,每像素总共8位
每像素占1字节。
8位RGB图
通常指:
RGB每个通道都是8位
因此: 3×8=24 bit 每像素占3字节。
更准确的叫法是:
8 bit/channel RGB
即"每通道8位的RGB图"。
2. "32位图"不一定支持透明度
32位图可能是:
- RGBA;
- BGRA;
- RGBX;
- 10位RGB加2位附加数据;
- 单通道float32图像。
所以不能只根据"32位"判断它一定是RGBA。
3. "48位图"通常是16位每通道RGB图
16位/通道 × 3通道 = 48位/像素
它不表示有48个通道,也不表示每个通道48位。
九、常见图像类型关系图
8位灰度图
├─ 1通道
├─ 每通道8位
└─ 每像素8位 = 1字节
24位RGB图
├─ 3通道
├─ 每通道8位
└─ 每像素24位 = 3字节
32位RGBA图
├─ 4通道
├─ 每通道8位
└─ 每像素32位 = 4字节
48位RGB图
├─ 3通道
├─ 每通道16位
└─ 每像素48位 = 6字节
十、最终笔记总结
| 名称 | 通道结构 | 每像素大小 | 主要特点 |
|---|---|---|---|
| 8位图 | 单通道×8位 | 1字节 | 常见灰度图,处理快、数据量小 |
| 24位图 | RGB×8位 | 3字节 | 标准彩色图,约1677万色 |
| 32位图 | RGBA×8位 | 4字节 | 通常比24位图多一个透明通道 |
| 48位图 | RGB×16位 | 6字节 | 高精度彩色图,适合专业和工业处理 |
可以简单记忆为:
8位图 = 8位灰度图 = 1通道 × 8位
24位图 = 标准RGB图 = 3通道 × 8位
32位图 = 常见RGBA图 = 4通道 × 8位
48位图 = 高精度RGB图 = 3通道 × 16位
最重要的一点是:
判断图像不能只看"总位数",还需要同时确认通道数、每通道位深、数据类型和通道含义。