图像表示法简介
欢迎来到这个章节!你有没有想过,电脑或手机底层明明只懂0 和 1,为什么却能显示出如此精美的照片呢?在这个章节中,我们要揭开这个神秘面纱,看看电脑是如何将简单的数字,转化成我们日常生活中屏幕上看到的彩色图像。如果一开始觉得有点抽象也不用担心——只要看懂了其中的规律,它就像用 LEGO 积木拼图一样简单!
什么是像素 (Pixel)?
像素 (Pixel) 这个词其实是 "picture element"(图像元素)的缩写。你可以把像素想象成一个微小的颜色点。如果你把电视或电脑屏幕放大来看,你会发现每一张图像其实都是由成千上万(甚至数百万)个排列成网格状的微小色点组成的。
类比: 想象一幅由细小方形磁砖组成的巨大马赛克拼贴画。从远处看,它看起来像是一个人物或风景;但如果你走近看,就会发现它只是成千上万个独立的彩色方块。而每一个方块,就是一个像素。
快速复习:基本概念
• 像素 (Pixel) 是图像中最小的可识别区域。
• 图像以像素网格 (grid) 的形式显示。
• 每个像素都由一个二进制 (binary) 模式来表示。
点阵图 (Bitmap Images)
本课程重点研究的是点阵图 (bitmaps)。点阵图其实就是一张“地图”,记录了每个数据“位元”在画面上的位置,从而组成图像。决定点阵图外观的两个主要因素是:图像尺寸 (Image Size) 和 色彩深度 (Colour Depth)。
1. 图像尺寸 (分辨率 / Resolution)
图像的尺寸以像素为单位,表示为 宽 x 高。
例子: 一张宽 10 像素、高 10 像素的图像,总共有 100 个像素。
2. 色彩深度 (Colour Depth)
色彩深度是指每个像素所使用的位元数 (bits)。每个像素使用的位元越多,能显示的颜色就越丰富!
• 如果我们每个像素使用 1 bit,就只能有 2 种颜色(通常是黑与白)。这是因为一个位元只能是 0 或 1。
• 如果我们每个像素使用 2 bits,就可以有 4 种颜色(\( 2^2 = 4 \))。
• 现代照片通常使用 24-bit 的色彩深度,这意味着可以显示超过 1,600 万种颜色!
你知道吗? 增加像素数量(分辨率)或色彩深度会让图像看起来更细腻、更真实,但同时也会让文件大小 (file size) 变得更大!
重点总结
更高的分辨率 + 更高的色彩深度 = 更好的画质 + 更大的文件大小。
计算图像文件大小
本章最重要的技能之一就是计算一张图片占用的空间。如果数学不是你的强项也别担心——我们每次都使用同一个简单的公式!
公式
计算以位元 (bits) 为单位的文件大小:
\( Size = Width \times Height \times Colour\ Depth \)
计算以字节 (bytes) 为单位的文件大小:
\( Size = (Width \times Height \times Colour\ Depth) / 8 \)
步骤示例
问题: 一张图像宽 10 像素,高 20 像素,色彩深度为 8 bits。请问该文件的大小是多少字节 (bytes)?
1. 将宽度乘以高度:\( 10 \times 20 = 200 \) 个像素。
2. 乘以色彩深度:\( 200 \times 8 = 1,600 \) bits。
3. 除以 8 得到字节:\( 1,600 / 8 = 200 \) bytes。
常见错误: 记得检查题目要求的是以 bits 还是 bytes 为单位。如果是要求 bytes,记得要把最后的答案除以 8!
二进制与图像之间的转换
在考试中,你可能会被要求将像素网格转为二进制代码,或反过来操作。这就像是一个“数字填色”游戏。
二进制转图像
想象一个 \( 3 \times 3 \) 的网格和二进制代码:101 010 101。
如果 1 = 黑色,0 = 白色,图像就会看起来像棋盘一样:
• 第一行:黑,白,黑
• 第二行:白,黑,白
• 第三行:黑,白,黑
图像转二进制
要将图像转换为二进制,只需像读书一样(从左到右,从上到下)阅读网格,并写下每个颜色的数字即可。
例子: 如果你看到一行三个像素分别是白、黑、白,而代码定义黑为 1,白为 0,你就会写出:010。
记忆法: "P.D.S."
要记住图像的运作原理,请记住 P.D.S.:
P - Pixels(像素,即那些点)
D - Depth(色彩深度,即颜色丰富度)
S - Size(图像尺寸,即宽 x 高)
总结与快速复习
• 像素 (Pixel): 图像中的单一点(图像元素)。
• 图像尺寸 (Image Size): 以像素衡量(宽 x 高)。
• 色彩深度 (Colour Depth): 每个像素的位元数。位元越多,颜色越多。
• 文件大小计算: \( Width \times Height \times Depth \)。
• 二进制表示法: 每个像素的颜色都存储为一个二进制数字。简单的 1-bit 图像使用 0 代表一种颜色,1 代表另一种颜色。
你一定做得到的!只要记住图像不过是网格中的点,而每个点都只是一个数字。多练习几次文件大小的公式,很快你就会成为这方面的专家!