使用C ++从16位数据创建灰度图像

时间:2017-10-26 08:00:15

标签: c++ image

我有一个16位值的数组,我想创建一个图像(如BMP),以便我可以查看它。有没有人有如何做到这一点的建议? 感谢

1 个答案:

答案 0 :(得分:1)

假设你的图像是200像素×100像素。将20,000个16位值写入二进制文件。

在命令行中,运行 ImageMagick

magick -depth 16 -size 200x100 gray:yourFile.bin image.png

或者,如果你想要一个JPG

magick ... image.jpg

为了更加努力,您可以编写一个16位PGM文件,这样可以在一个小的ASCII标头中包含其尺寸和位深度,因此 ImageMagick 中的转换是更简单,其他程序如 GIMP 可以读取它:

magick yourFile.pgm  image.jpg

标题是:

P5
200 100
65535
... binary data as above ...

请参阅Wikipedia NetPBM article