欢迎来到数据表示:图像表示!
各位未来的计算机科学家,大家好!本章节将带你了解计算机是如何在只懂得 0 和 1(二进制)的情况下,成功呈现出精美且复杂的图像。
不必担心数学或物理不是你的强项,我们会将图像表示法拆解成简单的构成要素。在本节结束时,你将掌握数字存储任何图片所需的三大关键要素:像素 (pixels)、分辨率 (resolution)、色彩深度 (colour depth) 以及 元数据 (metadata)。
重点摘要:为什么这很重要?
理解图像表示非常关键,因为它直接影响文件大小和图像质量。这些知识能帮助我们计算存储需求,这是计算机科学中的一项核心技能。
1. 位图与像素:数字图像的基础
当计算机存储一张照片时,它并不是存储照片中的场景,而是存储一张巨大的“地图”,用来描述构成图片的每一个微小点。这类图像被称为位图 (Bitmap)(即位组成的地图)。
类比:方格纸绘图
想象一下,试着只用一张方格纸来重现一幅名画。你将每个小方格填上一种颜色,直到整幅画显现出来。数字位图的运作方式正是如此。
什么是像素 (Pixel)?
数字图像中最小的元素称为像素 (Pixel)(是 Picture Element 的缩写)。
• 每个像素都会被分配一个二进制代码(一串 0 和 1),告诉计算机它应该呈现什么颜色。
• 计算机会读取这张“地图”(位图),并根据存储的二进制代码来设定屏幕上每个像素的显示状态。
快速检查: 如果你在手机或电脑屏幕上将照片放大到极致,最终会看到一个个独立的方格,那就是像素!
快速回顾:位图 vs. 像素
位图 (Bitmap): 所有像素组成的整个网格或地图。
像素 (Pixel): 网格内的一个单一彩色点。
2. 分辨率:网格的大小
决定图像质量和文件大小的第一个因素是分辨率 (Resolution)。
分辨率是指建立图像所使用的像素总数。通常以“宽度乘高度”来表示。
计算分辨率
如果一张图片的宽度为 1200 像素,高度为 800 像素,其分辨率就是 \(1200 \times 800\)。
要找出图像中的总像素数,只需将宽度乘以高度:
\(\text{总像素} = \text{宽度} \times \text{高度}\)
例子: \(1200 \times 800 = 960,000\) 像素。
分辨率的影响
• 低分辨率: 意味着像素较少。如果你试图在大屏幕上显示低分辨率图像,像素会变得明显(使图像看起来有“格子感”或像素化/起格)。
• 文件大小: 更高的分辨率需要存储更多的像素数据,导致文件大小更大。
别担心! 当人们说屏幕是“Full HD 1080p”时,指的是 \(1920 \times 1080\) 像素(宽乘高)的分辨率。那可是超过 200 万个像素呢!
3. 色彩深度:定义每个点的颜色
我们知道像素是一个单一的彩色点,但计算机如何知道它是什么颜色?这由色彩深度 (Colour Depth) 来决定。
什么是色彩深度(每像素位数 - BPP)?
色彩深度是用来存储单个像素颜色信息的位 (bits) 数量。有时也称为每像素位数 (Bits Per Pixel, BPP)。
由于一个位只能是 0 或 1,使用更多的位可以创造出更多的组合,从而呈现更多的颜色。
计算可显示yaml的颜色数量
可呈现的颜色数量可以使用以下公式计算:
\(\text{颜色数量} = 2^{\text{色彩深度(以位为单位)}}\)
色彩深度的分步范例
让我们看看增加 BPP 如何大幅增加颜色选项:
范例 1:1-bit 色彩深度
• 计算: \(2^1 = 2\) 种颜色
• 结果: 这张图像只能显示 2 种颜色(通常是黑与白)。
范例 2:8-bit 色彩深度
• 计算: \(2^8 = 256\) 种颜色
• 结果: 这在旧型电脑游戏中很常见。它允许有限的颜色范围,但不足以达到照片般的写实质量。
范例 3:24-bit 色彩深度(全彩/真彩色)
• 计算: \(2^{24} = 16,777,216\) 种颜色(约 1670 万种)
• 结果: 这被称为全彩 (True Colour)。由于人眼只能分辨约 1000 万种颜色,因此 24-bit 的深度被认为已达到照片级的真实感,是现代数码摄影和显示器的标准。
记忆口诀: 更多的每像素位数 (BPP) = 更深的颜色 = 更好的质量 = 更大的文件大小。
4. 元数据:与图像一同存储的信息
除了原始像素数据外,图像文件还必须存储元数据 (Metadata)。
元数据被定义为关于数据的数据 (data about data)。如果没有元数据,计算机只会看到一长串二进制数字,无法得知网格应该绘制多宽,或者每个像素由多少个位组成。
常见图像元数据例子
• 色彩深度: 所使用的每像素位数 (BPP)。
• 文件格式: 文件类型(例如 BMP、PNG、JPEG)。
• 创建日期与时间: 图像创建或拍摄的时间。
计算备注: 当使用公式 \(\text{分辨率} \times \text{色彩深度}\) 计算存储需求时,计算出的是不包括元数据的原始图像大小。
5. 计算图像文件大小
现在我们将分辨率和色彩深度结合起来,计算未经压缩的文件大小(不包括元数据,以位、字节、KB 或 MB 为单位)。
核心公式
\(\text{文件大小(以位为单位)} = \text{总像素数} \times \text{色彩深度 (BPP)}\)
分步计算过程
请依照这四个关键步骤准确计算文件大小:
步骤 1:计算总像素数(分辨率)
将图像宽度乘以图像高度。
例子: 一张图片宽度为 400 像素,高度为 300 像素。
\(400 \times 300 = 120,000\) 像素
步骤 2:计算总位数(以位为单位的文件大小)
将总像素数乘以色彩深度 (BPP)。
例子: 上述图片的色彩深度为 8 bits (8 BPP)。
\(120,000 \times 8 = 960,000\) 位
步骤 3:将位转换为字节 (Bytes)
由于 8 bits 等于 1 byte,将总位数除以 8。
\(960,000 \div 8 = 120,000\) 字节
步骤 4:转换为千字节 (KB) 或 兆字节 (MB)
对于大文件,我们会转换成更大的单位。请记住,对于存储空间计算:
\(1 \text{ Kilobyte (KB)} = 1024 \text{ Bytes}\)
\(1 \text{ Megabyte (MB)} = 1024 \text{ KB}\)
将步骤 3 的结果(120,000 字节)转换为千字节 (KB):
\(120,000 \div 1024 \approx 117.19\) KB
🚨 常见错误警告 🚨
在计算机科学中,将字节转换为 KB,或 KB 转换为 MB 等单位时,请务必记得除以 1024(而不是 1000),因为这是二进制的单位转换!
计算总结
计算文件大小能显示质量与存储空间之间的取舍:
• 如果你将色彩深度翻倍(例如从 8 BPP 变为 16 BPP),文件大小会翻倍。
这解释了为什么高分辨率、高色彩的图片在手机上会占用那么多空间!
本章重点总结
• 分辨率 (Resolution)(\(\text{宽度} \times \text{高度}\))决定了像素总数。
• 色彩深度 (Colour Depth) (BPP) 决定了每个像素所使用的位数,影响颜色忠实度(\(2^{\text{BPP}}\) 种颜色)。
• 元数据 (Metadata) 是关于数据的数据(例如尺寸、色彩深度、文件格式),用以正确重现图像。
• 文件大小(位) = \(\text{分辨率} \times \text{色彩深度}\)(不包括元数据)。
• 转换单位:\(8 \text{ bits} = 1 \text{ Byte}\);\(1024 \text{ Bytes} = 1 \text{ KB}\)。
你已经掌握了计算机如何看待和存储图片了!做得好!现在你已经准备好挑战数据计算的练习题了。