Image 为什么我的PPM图像的主体包含符号?

Image 为什么我的PPM图像的主体包含符号?,image,encoding,ppm,Image,Encoding,Ppm,我的PPM图像包含以下内容: P6 1200 670 255 不,对于模式P6 PPM,这是完全正常的 在这种模式下,只有报头是ASCII,像素作为二进制数据写入,每个样本8或16位,像素交错 也可以使用普通或ASCII格式的PPM,该模式使用P3作为其标识符 有关更多信息,请参阅。如果您想要ASCII P3格式,可以使用ImageMagick,它在大多数Linux发行版中都有,并且可用于OSX和Windows,如下所示 convert yourFile.ppm -compress none o

我的PPM图像包含以下内容:

P6

1200

670

255


不,对于模式P6 PPM,这是完全正常的

在这种模式下,只有报头是ASCII,像素作为二进制数据写入,每个样本8或16位,像素交错

也可以使用普通或ASCII格式的PPM,该模式使用P3作为其标识符


有关更多信息,请参阅。

如果您想要ASCII P3格式,可以使用ImageMagick,它在大多数Linux发行版中都有,并且可用于OSX和Windows,如下所示

convert yourFile.ppm -compress none output.ppm
然后它会像这样:

P3
70 46
255
48 47 45 50 48 46 54 50 47 56 51 46 58 51 45 57 50 45 56 48 45 57 49 46
56 48 45 56 48 45 55 47 44 53 45 42 52 44 41 53 45 42 53 45 42 49 45 39
49 46 39 52 49 42 55 52 45 57 54 47 63 58 47 70 63 51 74 66 52 76 65 50
...
...

java C++ C++一般写了一个完整的读取器,如果你感兴趣的话,我不是C++开发者,但是基本上,你只需要分配一个字节数组,无符号8位类型,大小×**高3,然后从将文件插入数组中,直到填充数组为止。值将遵循布局R1G1B1R2G2B2…RnGnBn aka像素交错。作为ImageIO项目的一部分,请参见。PNM同时指PBM、PGM和PPM,因为这些格式类似。