PPM/PGM/PNM格式图像详解

166次阅读
没有评论

共计 1383 个字符,预计需要花费 4 分钟才能阅读完成。

PPM->Portable PixMap
PGM->Portable GreyMap
PBM->Portable BitMap
PBM支持单色图(1个像素位)
PGM支持灰度图形,能够读PBM图形和PGM图形,输出PGM图形
PPM支持真彩色图形,可以读上面所有格式,输出PPM图形

PPM/PGM/PNM格式图像详解

PGM图像详解
PGM 是便携式灰度图像格式(portable graymap file format),在黑白超声图像系统中经常使用PGM格式的图像。文件的后缀名为”.pgm”,PGM格式图像格式分为两类:P2和P5类型。不管是P2还是P5类型的PGM文件,都由两部分组成,文件头部分和数据部分。

文件头部分

文件头包括的信息依次是:

1.PGM文件的格式类型(是P2还是P5);

2.图像的宽度;

3.图像的高度;

4.图像灰度值可能的最大值;

文件头的这四部分信息都是以ASCII码形式存储的,所以可以直接在将P2或P5格式的PGM文件在记事本中打开看到文件头的信息。

P5格式 的PGM文件在记事本中打开如下图所示:
PPM/PGM/PNM格式图像详解
P2格式 的PGM文件在记事本中打开如下图所示:
PPM/PGM/PNM格式图像详解
在P2或P5类型的PGM文件头的4个信息之间用分割符分开,PGM的合法分隔符包括:空格,TAB,回车符,换行符。PGM文件头的信息应该由合法分割符号分开,如上面两幅图所展。文件头的第4个信息,图像灰度值可能的最大值标明了文件数据部分可能出现的像素灰度值的最大值。上面两幅图都是指定的255,所以在数据区的像素数据取值范围在0到255。

数据部分
数据部分记录图像每个像素的灰度值,按照图像从上到下,从左到右的顺序依次存储每个像素的灰度值.对于像素灰度值的表示P2格式和P5格式有所不同.

P5格式

P5格式的文件,每个像素用可以用二进制表示。比如有一幅P5格式图像,灰度值可能的最大值为255,它的第一行第一列像素值为100,那么该图像每个像素使用一个字节表示,第一行第一列为数值为100的二进制一个字节表示.如果这副图灰度值可能的最大值是65535,那么它的第一行第一列为数值为100的二进制两个字节表示(因为表示到65535需要两个字节)。每个像素数据之间没有间隔的连续存储,图像一行信息结束后从下一行第一列继续,两行图像数据之间也没有间隔的连强调内容续存储,直到将图像的所有信息表示完。因为是以二进制表示,所以数据部分在记事本中打开后看到的将会是乱码。

P2格式

P2格式的文件,每个像素使用字符串来表示,比如一副P2格式图像,灰度值可能的最大值为255,它的第一行第一列像素值为100,那么该图像图像每个像素使用3个ASCII字符表示,第一行第一列数据为ASII表示的”100”。不同于P5格式,每个像素数据之间需要用一个空格符分开存储,在图像的每一行数据结束时需要换行。还有一点需要注意,P2格式文件数据部分当数据超过70个字节的时候,会自动换行。也就是说图像的每一行数据末尾,或者存储时超过70个字节时,需要进行换行。

如下图所示,这是一个P2格式的PGM文件在Visual Studio中查看的效果。我们可以看到,每超过70个自己时候需要换行,在图像数据一行结束时候也需要换行(在0 1 1 1结束后,图像第一行数据结束换行)。
PPM/PGM/PNM格式图像详解

在线转换:在线转换 bmp 文件格式,将图片免费转换成 bmp 格式 (onlineconvertfree.com)

查看工具:Honeyview

正文完
 
admin
版权声明:本站原创文章,由 admin 2022-07-30发表,共计1383字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)
验证码