我有一个高度图,它只是一个16位宽的大端数组。我没有考虑从原始数据编码jpg或png,但在此之前,我想知道是否有任何程序可以下载以将其视为图像,因为我想知道它是什么好像。
当我搜索原始图像数据时,所有结果都会返回有关用于相机图像格式的RAW图像格式的信息,这些格式在制造商之间也有所不同,我不认为这是我&#39 39;我正在寻找。它是原始数据中的原始数据,而不是.RAW图像格式。
谢谢。
答案 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
如果有一个512字节的标题,你可以使用:
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...