是否有程序将原始数组视为图像?

时间:2017-01-17 13:47:26

标签: arrays image graphics photo

我有一个高度图,它只是一个16位宽的大端数组。我没有考虑从原始数据编码jpg或png,但在此之前,我想知道是否有任何程序可以下载以将其视为图像,因为我想知道它是什么好像。

当我搜索原始图像数据时,所有结果都会返回有关用于相机图像格式的RAW图像格式的信息,这些格式在制造商之间也有所不同,我不认为这是我&#39 39;我正在寻找。它是原始数据中的原始数据,而不是.RAW图像格式。

谢谢。

1 个答案:

答案 0 :(得分:2)

是的,使用 ImageMagick ,它安装在大多数Linux发行版上,可用于macOS和Windows。

因此,如果您的图像在名为image.dat的文件中为600x400且只有16位灰度值,则可以在终端执行此操作并获取一个名为output.jpg的文件,您可以查看:< / p>

convert -size 600x400 -depth 16 -endian MSB GRAY:image.dat -auto-level output.jpg

如果有一个5​​12字节的标题,你可以使用:

convert -size 600x400+512 ...

如果数据是彩色而不是灰度,请使用:

convert -size 600x400 -depth 16 -endian MSB RGB:image.dat ...

如果您想要PNG而不是JPG,请使用:

convert ... result.png

作为替代方案,您可以考虑编写PGM(便携式灰度图)或 您的程序中的PPM(便携式Pix地图)格式文件非常容易,请参阅NetPBM Wiki description并在其中包含您的图片大小 - 因此它将是自包含的。通常使用P5(对于灰度)或P6(对于颜色)使用二进制数据而不是ASCII数据。然后您可以使用 ImageMagick 将其简单地转换为JPEG(或PNG),并且不必担心编写JPEG或PNG或链接库:

convert result.pgm result.png     # convert greyscale results to PNG

convert result.ppm result.jpg     # convert colour results to JPG, or PNG, or TIFF, or GIF...