可移植像素图格式(PPM),可移植灰度图格式(PGM)和可移植位图格式(PBM)是便于跨平台图像格式。有时候也被统称为PNM格式[5]

Quick Facts 扩展名, 互联网媒体类型 ...
Portable pixmap
扩展名
.pbm, .pgm, .ppm, .pnm
互联网媒体类型
image/x‑portable‑bitmap,[1] image/x‑portable‑graymap,[2] image/x‑portable‑pixmap,[3] image/x‑portable‑anymap[4]
开发者Jef Poskanzer英语Jef Poskanzer
格式类型图像文件格式英语Image file formats
扩展为Portable Arbitrary Map (PAM)英语Netpbm#PAM graphics format
免费格式?
Close

历史

PBM格式由Jef Poskanzer在20世纪80年代发明,为了便于通过电子邮件,用ASCII码表示单色位图,能够承受一般的文本格式的变动。

第一个处理PBM格式的工具库是Pbmplus。它由这个格式的发明人Jef Poskanzer开发,在1988年发布。主要包含Jef编写的将PBM转化为已存在的其他图像格式的工具。在1988年末,Jef开发出PGM、PPM格式以及相关工具,并加入Pbmplus中。Pbmplus的最终发布日期是1991年12月10日。

在1993年,Netpbm库开始开发,用来替代不再维护的Pbmplus。它是Pbmplus的简单的重新包装,附加全世界开发者提供的额外功能和修订,可能是目前用的最普遍的处理PBM、PGM和PPM格式的工具库。[6]

文件格式描述

这三种格式在颜色的表示上有差异。PBM是单色,PGM是灰度图,PPM使用RGB颜色。

每个文件的开头两个字节(ASCII码)作为文件描述子,指出具体格式和编码形式。具体见下表。

More information 文件描述子, 类型 ...
文件描述子 类型 编码
P1 位图 ASCII
P2 灰度图 ASCII
P3 像素图 ASCII
P4 位图 二进制
P5 灰度图 二进制
P6 像素图 二进制
Close

基于ASCII的格式使人可读,并且能够很容易的移植到其他格式。但是二进制格式更有效,不仅因为他节约空间,而且因为他更容易被解析(因为很少有空格)

当使用二进制格式的时候,PBM每像素使用一个比特空间,PGM每个像素使用8个比特空间,PPM每像素使用24比特空间(8比特红色、8比特绿色、8比特蓝色)。

PBM例子

下面是一个简单的例子

P1
# This is an example bitmap of the letter "J"
6 10
0 0 0 0 1 0
0 0 0 0 1 0
0 0 0 0 1 0
0 0 0 0 1 0
0 0 0 0 1 0
0 0 0 0 1 0
1 0 0 0 1 0
0 1 1 1 0 0
0 0 0 0 0 0
0 0 0 0 0 0

P1表示文件格式。#符号表示一个注释。接下来两个数是宽度和高度。接下来的矩阵是每个像素的值。(在这里单色格式,只有0和1)

PGM例子

P2
6 6
255
0 0 0 150 0 0
0 0 0 150 0 0
0 0 0 150 0 0
0 150 0 150 0 0
0 150 150 150 0 0
0 0 0 0 0 0

PPM例子

P3
4 4
15
0 0 0 0 0 0 0 0 0 15 0 15
0 0 0 0 15 7 0 0 0 0 0 0
0 0 0 0 0 0 0 15 7 0 0 0
15 0 15 0 0 0 0 0 0 0 0 0

16位扩展

P2
6 6
65535
0 0 0 30000 0 0
0 0 0 30000 0 0
0 0 0 30000 0 0
0 0 0 30000 0 0
0 30000 30000 30000 0 0
0 0 0 0 0 0

参考资料

外部链接

Wikiwand in your browser!

Seamless Wikipedia browsing. On steroids.

Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.

Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.