欢迎来到数据表示:图像表示!
你好,未来的计算机科学家们!本章将带你揭开计算机的神秘面纱,了解它是如何通过仅仅能识别 0 和 1(二进制)的底层逻辑,展现出精美且复杂的图像的。
别担心数学或物理不是你的强项——我们将把图像表示拆解成简单的构建模块。学完这一节,你将掌握存储任何数字图像所需的三个核心要素:像素 (Pixels)、分辨率 (Resolution) 和 色彩深度 (Colour Depth)。
关键点:为什么这很重要?
理解图像表示至关重要,因为它直接影响文件大小和图像质量。这些知识能帮助我们计算存储需求,这是计算机科学领域的一项核心技能。
1. 位图与像素:数字图像的基石
当计算机存储一张照片时,它并不是在存储场景本身,而是在存储一张巨大的“地图”,用来描述构成图片的每一个微小点。这种图像类型被称为位图 (Bitmap)(即“位”的地图)。
类比:方格纸绘图
想象一下,如果你只能用方格纸来临摹一幅名画,你会给每一个小方格填上颜色,直到整幅画呈现出来。数字位图的工作原理正是如此。
什么是像素?
数字图像中最小的组成单位被称为像素 (Pixel)(是 Picture Element 的缩写)。
- 像素是一个单一、微小且颜色均匀的小方块(或点)。
- 每个像素都被分配了一个二进制代码(由 0 和 1 组成的序列),告诉计算机它应该显示什么颜色。
- 计算机读取这张“地图”(位图),并根据存储的二进制代码设置屏幕上对应像素的显示。
小测试: 如果你在手机或电脑屏幕上将照片无限放大,你最终会看到一个个独立的小方块——这就是像素!
快速回顾:位图 vs. 像素
位图 (Bitmap): 所有像素组成的整体网格或地图。
像素 (Pixel): 网格中单个带颜色的点。
2. 分辨率:网格的大小
决定图像质量和文件大小的第一个因素是分辨率 (Resolution)。
分辨率指的是用于创建图像的像素总数。它通常表示为“宽度 × 高度”。
计算分辨率
如果一张图像横向有 1200 个像素(宽),纵向有 800 个像素(高),那么它的分辨率就是 1200 x 800。
要找到图像的像素总数,只需将宽度乘以高度即可:
像素总数 = 宽度 x 高度
示例: \(1200 \times 800 = 960,000\) 个像素。
分辨率的影响
- 高分辨率: 意味着图像拥有更多的像素,从而带来更丰富的细节和清晰度(图像更锐利)。
- 低分辨率: 意味着像素较少。如果你试图在大屏幕上显示一张低分辨率图像,像素就会变得显眼(使图像看起来有“马赛克感”或像素化)。
- 文件大小: 更高的分辨率需要存储更多的像素数据,从而导致文件体积更大。
不必担心! 当人们提到屏幕是“全高清 1080p”时,他们指的是分辨率为 1920 像素(宽)乘以 1080 像素(高)。这可是超过 200 万个像素!
3. 色彩深度:定义每个点的颜色
我们已经知道像素是单个彩色点,但计算机如何知道它是哪种颜色呢?这由色彩深度 (Colour Depth)决定。
什么是色彩深度(每像素位数 - BPP)?
色彩深度是用于存储单个像素颜色信息的位数 (bits)。它有时也被称为每像素位数 (Bits Per Pixel, BPP)。
由于一个位只能是 0 或 1,使用更多的位数可以创建更多的组合,从而表示更多的颜色。
计算可用颜色数量
可以表示的颜色数量计算公式为:
颜色数量 = \(2^{\text{色彩深度 (单位:位)}}\)
色彩深度的分步示例
让我们看看增加 BPP 如何显著增加颜色选择:
示例 1:1-位 色彩深度
- BPP: 1 位
- 计算: \(2^1 = 2\) 种颜色
- 结果: 该图像只能显示 2 种颜色(通常是黑与白)。
示例 2:8-位 色彩深度
- BPP: 8 位
- 计算: \(2^8 = 256\) 种颜色
- 结果: 这在老式电脑游戏中很常见。它允许有限的色彩范围,但不足以达到照片级的画质。
示例 3:24-位 色彩深度(真彩色)
- BPP: 24 位
- 计算: \(2^{24} = 16,777,216\) 种颜色(约 1670 万色)
- 结果: 这被称为真彩色 (True Colour)。由于人眼只能分辨约 1000 万种颜色,24 位色彩深度被认为是照片级的,是现代数码摄影和显示器的标准。
记忆口诀: 较高的每像素位数 (BPP) = 更深的色彩 = 更好的画质 = 更大的文件体积。
4. 计算图像文件大小
现在,我们将分辨率和色彩深度结合起来,计算未压缩的文件大小(以位、字节、KB 或 MB 为单位)。
核心公式
文件大小(以位为单位) = 像素总数 \(\times\) 色彩深度 (BPP)
分步计算过程
请遵循以下四个关键步骤来准确计算文件大小:
第 1 步:计算像素总数(分辨率)
将图像宽度乘以高度。
示例: 一张图像宽 400 像素,高 300 像素。
\(400 \times 300 = 120,000\) 个像素
第 2 步:计算总位数(以位为单位的文件大小)
将像素总数乘以色彩深度 (BPP)。
示例: 上述图像的色彩深度为 8 位 (8 BPP)。
\(120,000 \times 8 = 960,000\) 位
第 3 步:将位转换为字节
由于 8 位等于 1 字节,将总位数除以 8。
\(960,000 \div 8 = 120,000\) 字节
第 4 步:转换为千字节 (KB) 或兆字节 (MB)
对于大文件,我们将其转换为更大的单位。请记住存储计算规则:
\(1 \text{ 千字节 (KB)} = 1024 \text{ 字节}\)
\(1 \text{ 兆字节 (MB)} = 1024 \text{ KB}\)
将第 3 步的结果(120,000 字节)转换为千字节 (KB):
\(120,000 \div 1024 \approx 117.19\) KB
🚨 常见错误警告 🚨
在计算机科学中,将字节转换为 KB、KB 转换为 MB 等时,请始终记得除以 1024(而不是 1000),因为这是二进制单位换算!
计算总结
计算文件大小可以体现出画质与存储空间之间的权衡:
- 如果你将分辨率翻倍(例如,从 400x300 变为 800x600),像素总数会变为原来的 4 倍,文件大小也会变为原来的 4 倍。
- 如果你将色彩深度翻倍(例如,从 8 BPP 变为 16 BPP),文件大小会翻倍。
这就解释了为什么高分辨率、高色彩的图片在手机上会占用如此多的空间!
本章要点总结
- 数字图像以位图形式存储,由单个像素网格组成。
- 分辨率(宽 x 高)决定了像素的总数量。
- 色彩深度 (BPP) 决定了每个像素使用的位数,从而影响色彩保真度(颜色数量 = \(2^{\text{BPP}}\))。
- 文件大小(位) = 分辨率 \(\times\) 色彩深度。
- 单位换算:8 位 = 1 字节;1024 字节 = 1 KB。
你已经掌握了计算机如何查看和存储图像!干得好!现在你已经准备好挑战数据计算的练习题了。