You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

查找支持文本像素描述与常见图像格式互转的Unix命令

相关工具线索

你记忆里的这套工具是早年Unix/Solaris环境下广泛预装的Netpbm工具集,和你描述的特性完全匹配:

  • 支持JPEG、BMP、TIFF、PNG等绝大多数常见图像格式,和纯文本像素描述文件双向转换
  • 转换输出的纯文本像素格式(ASCII编码的PPM/PNM格式)规则非常简单:除了3行极简固定头之外,逐行存储单个像素的红、绿、蓝三通道数值,全部用ASCII数字表示,完全不需要钻研各类复杂图像格式的编码规范,用任意编程语言逐行读写就能完成图像处理
  • 常用的对应命令:
    • jpegtopnm、bmptopnm等格式专属导入命令:把对应格式的二进制图像转成通用PNM格式
    • pnmtoplainpnm:把二进制PNM转成纯ASCII的像素文本,直接就能逐行读取像素值
    • pnmtojpeg、pnmtobmp等格式专属导出命令:把处理完成的PNM文件转回常规图像格式
      这套工具的纯文本像素格式几乎没有学习成本,合法文件只需要在像素值前面加3行固定头即可:

第一行固定写P3,标记是ASCII格式的RGB像素文件
第二行写图像的宽度、高度,两个数字用空格分隔
第三行写通道最大值,普通8位图像直接写255
后续内容按从左到右、从上到下的扫描顺序,逐行写每个像素的R、G、B三个0-255范围的整数值即可
比如一个1×1大小纯红色图像的文本文件内容只有几行:

P3
1 1
255
255 0 0

把上述内容存为文本文件,直接调用pnmtojpeg就能导出为正常的JPG图像,不需要编写任何图像编码解码逻辑,和你记忆里的使用体验完全一致。
补充说明:早年Solaris发行版里偶尔会把配套的JPEG处理子工具以djpeg/cjpeg的别名提供,这两个是Netpbm依赖的JPEG编解码组件,单独用也能输出类似的文本像素内容,但完整的多格式支持、文本回写为图像的能力还是来自Netpbm工具集。另外后来的ImageMagick也能实现类似功能,但它的预装时间远晚于Netpbm,不是你数十年前在Solaris上接触到的版本。

内容的提问来源于stack exchange,提问作者David G. Pickett

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 17:36:28