清理 PNM / Netpbm 图像文件
14 仍在积极使用的、最古老的图像格式家族之一
PNM 涵盖了 Netpbm 系列格式——PBM(纯黑白位图)、PGM(灰阶)和 PPM(全彩)——它们可以追溯到 Unix 图像工具最早
期的年代,如今仍然是大量科学成像、计算机视觉研究,以及命令行图像处理流程的默认输出格式。每种变体都共享相同
的基本结构:一个简短的 ASCII"魔数"(P1 到 P6,或更新的 PAM 变体使用
P7),后面跟着以空白分隔的尺寸信息,除了纯位图之外,再之后就是原始像素数据。
深入了解:为什么这里几乎没有任何元数据问题需要回答
Netpbm 的头部格式允许在图像尺寸信息之前放置一行以 # 开头的注释,而这确实就是元数据的全部
内容——没有相机信息数据块,没有 GPS 字段,没有内嵌缩略图,没有任何类似 EXIF 或 IPTC 的东西。如果您看到一
个 PNM 文件,它几乎肯定来自某个研究工作流程、某个命令行转换步骤,或者某个嵌入式系统,而不是相机或手机,
这也正是为什么适用于 JPEG 或 HEIC 的元数据隐私考量在这里几乎用不上。仍然重要的是本站其他任何地方都适用
的同一项结构性保证:当文件被解码为原始像素并从零重建时,任何注释行或超出格式实际所需的多余字节都会被舍
弃,无论一个注释字段原本可能被用来夹带什么内容。
为什么您会把一个 PNM 文件放到这里处理
很大程度上是出于对比页面中针对任何本身元数据就很少的格式所讨论 的同一个原因:完整重建关闭了"不相信原始字节中的任何内容"这一结构性风险类别,无论头部中原本是否有什么值得清 除的重要内容。如果您的工作流程之后需要把结果转换成更常见的格式,把输出格式强制指定为 PNG、JPEG 或 WebP,同 样可以在这里其他任何输入所用的那同一次处理中完成。