GLOSSARY / 术语
术语表
这一页解释站内反复出现的词:像素、通道、曲线、位移、重采样、有损压缩、可逆变换。不需要按顺序读,遇到看不懂的术语时回来查一下即可。
How to read the words
按使用频率排序的二十个词
不需要按顺序读。遇到看不懂的术语时回来查一下,再回到对应的页面继续即可。 英文标注放在括号里,方便对照其他资料。
- 像素 PIXEL
- 图片的最小单位。一个像素通常由红、绿、蓝和透明度四个数值组成。图片的宽高相乘,就是像素总数。
- 通道 CHANNEL
- 描述颜色时使用的一个维度。RGB 图片有红、绿、蓝三个颜色通道,带透明的图片还会多一个 alpha 通道。
- RGB
- 用红(Red)、绿(Green)、蓝(Blue)三种光的强度组合出颜色的模型。屏幕上的绝大多数图片都以此为基础。
- RGBA
- 在 RGB 之外增加 Alpha 透明度通道。本站的像素重排会把四个通道一起搬运,不会单独保留透明信息。
- Canvas
- 浏览器提供的位图画布接口。本站用它读取图片像素、执行重排,并导出新的图片文件。
- ImageData
- Canvas 中表示像素数据的对象,包含宽度、高度和一维的 RGBA 字节数组。重排算法直接操作这份数据。
- 空间填充曲线 SPACE-FILLING CURVE
- 一条能走遍平面区域内每个格子的连续曲线。它把二维坐标映射成一维顺序,常用于图像处理与数据局部性优化。
- 希尔伯特曲线 HILBERT CURVE
- 经典的空间填充曲线之一,通常定义在 2 的幂次方形网格上。相邻的曲线点在平面上通常也相邻。
- Gilbert 曲线 GILBERT CURVE
- 希尔伯特曲线在任意宽高矩形上的推广。本站使用它,因此不需要把图片补成正方形或裁成 2 的幂次尺寸。
- 双射 BIJECTION
- 两个集合之间一一对应的关系:每个元素都有唯一对应项,且没有遗漏。曲线坐标与像素序号之间就是双射。
- 置换 PERMUTATION
- 把一组元素重新排列的操作。循环平移
i → (i + shift) mod N是一种特殊的置换。 - 黄金分割 GOLDEN RATIO
- 约等于 1.618 的比例,其倒数为 0.618。本站用这个倒数乘以像素总数作为位移步长,让相邻像素被甩到队列远处。
- 位移步长 SHIFT
- 混淆时每个像素沿曲线前进的格数。取
round(0.618 × W × H),解混淆时反向移动同样的距离。 - 混淆 OBFUSCATION
- 本站在“可逆地打乱像素顺序”这一意义上的用法。它不修改颜色、不引入密钥,目的是增加直接观看的难度。
- 解混淆 DEOBFUSCATION
- 按相反的搬运方向恢复原始像素顺序。它不是“猜测”画面,而是精确执行逆置换。
- 有损压缩 LOSSY COMPRESSION
- 为了减小体积而丢弃部分信息的压缩方式,JPEG 是最常见的例子。被丢弃的信息无法完整恢复。
- 无损压缩 LOSSLESS COMPRESSION
- 解压后能逐字节还原原始数据的压缩方式。PNG 使用无损压缩,适合需要像素级往返的场景。
- 重采样 RESAMPLING
- 改变图片宽高时重新计算像素值的过程。缩放、旋转、截图都会触发重采样,从而改变像素位置与颜色。
- EXIF
- 相机和手机写入图片的元数据,可能包含拍摄时间、设备型号、方向等信息。部分浏览器在绘制时会按方向自动旋转图片。
- 裁剪 CROP
- 去掉图片边缘的一部分。裁剪会改变宽高,从而改变曲线形状和步长,使原本的混淆图无法直接还原。
把词连起来
“在 Canvas 中读取 ImageData,用 Gilbert 曲线建立双射,再执行黄金分割步长的置换”这句话,就是本站全部的核心。想看到实际推导,去读算法原理。