当前理解
光栅是一种把图像表示成规则像素网格的方式。
它关心的不是“这个图像里有什么对象”,而是:在每一个离散的位置上,应该保存什么颜色、亮度、透明度或其他通道值。屏幕截图、照片、PNG、JPEG、WebP、TIFF 这类图像通常都可以从光栅的角度理解。
一个最小的光栅图像可以被想成这样:
width x height x channels
例如一张 1920 x 1080 的 RGB 图像,可以理解成有 1920 列、1080 行,每个像素存储红、绿、蓝三个通道的数值。图像越大、通道越多、位深越高,需要保存的数据通常也越多。
为什么我关心
我关心光栅,是因为它是很多视觉技术的底层入口。
当我处理图片、截图、视频帧、相机输入、UI 贴图、地图瓦片、机器学习数据集、OCR 或计算机视觉任务时,最终经常会遇到光栅:一个由像素组成的矩阵。理解光栅,可以让我更清楚地判断图像为什么会模糊、为什么会锯齿、为什么放大会失真、为什么压缩会产生伪影,以及为什么同一张图在不同设备上看起来不完全一样。
它也提醒我:视觉对象进入计算系统时,常常会先被转成一种离散表征。现实世界和图像内容是连续、丰富、语义化的,但光栅保存的是采样后的数值网格。
观察角度
- 作为表征:光栅把连续视觉信息变成离散像素。
- 作为采样结果:每个像素都是对某个空间区域的近似记录,而不是无限精细的真实世界。
- 作为矩阵:图像可以被程序当成二维或三维数组处理。
- 作为显示单位:屏幕最终通过像素阵列发光,所以很多视觉结果都要落到光栅显示上。
- 作为损失来源:缩放、压缩、重采样、色彩空间转换都可能改变原始像素信息。
连接
光栅最常和矢量图形形成对比。矢量图形用几何对象、路径、曲线、填充和变换来描述图像;光栅图像则直接记录像素网格。矢量图形适合图标、文字、Logo、图表和可无限缩放的几何形状;光栅图像适合照片、截图、纹理、视频帧和传感器采样结果。
这种区别也解释了一个常见现象:光栅图放大后会暴露像素或插值痕迹,而矢量图在重新渲染时可以按新的尺寸计算几何形状。但矢量并不天然更高级,它只是另一种表征。照片无法简单地用少量路径完整描述,复杂矢量图最终显示到屏幕上时也会被栅格化。
在图像文件格式里,PNG、JPEG、WebP、TIFF 等格式通常保存的是光栅图像,但它们不是光栅本身。光栅是图像数据的表征方式;文件格式是保存、压缩、传输和解释这些数据的容器与规则。
在机器学习和计算机视觉里,光栅图像经常会变成张量。模型看到的不是“猫”“按钮”或“地图”,而是一组经过编码、归一化和排列的像素值。语义需要从这些数值模式中被学习、推断或额外标注出来。
张力
第一个张力是精度和体积。分辨率越高、位深越高、通道越多,图像越能保留细节,但存储、传输和计算成本也越高。
第二个张力是表面和语义。光栅保存的是像素,不直接保存对象关系。一个按钮在视觉上是像素区域,在界面结构中却可能是一个可点击组件;一张照片里的人在光栅层面只是颜色分布,在语义层面却是可识别对象。
第三个张力是可编辑性。对光栅图像做局部修图很直观,但要重新编辑结构性元素并不容易。比如把一张截图里的文字改掉,和在源文件里改文本再重新渲染,是完全不同的工作。
未解问题
- 我应该什么时候把图像理解成光栅数据,什么时候理解成语义对象?
- 在 UI、地图和文档处理中,哪些信息应该保留为结构,哪些可以被栅格化?
- 对机器学习来说,光栅输入丢失了哪些对人类显而易见的结构?
- 压缩、缩放和重采样造成的损失,什么时候会影响判断或模型结果?
- 如果以后建立 entity 层,PNG、JPEG、PPTX 这类格式应该如何和 raster 这样的 concept 连接?
演化
- 2026-06-23: 初始 seed,用来区分 raster 作为表征方式和具体图像文件格式。