我有一个程序可以生成具有以下结构的8位图像:

struct int8image
{
  int width;
  int height;
  unsigned char* image;
};

将像素数据(int8image.image)转储到文本文件后,得到以下输出:
0605 0606 0606 0605 0606 0506 0606 0606
0606 0605 0606 0506 0606 0606 0606 0606
0606 0606 0606 0606 0606 0505 0606 0706
0606 0606 0606 0606 0606 0606 0706 0706
.....

如何将其转换为可查看的图像(格式无关紧要)?

最佳答案

您可以在命令行使用ImageMagick转换图像。它已安装在大多数Linux发行版上,并且可用于OS X(最好通过homebrew)和Windows。

如果要将其转换为PNG,可以运行以下命令:

convert -size 1392x1040 -depth 8 image.gray -auto-level image.png

您的图像对比度很低,因此我添加了-auto-level进行拉伸(stretch)。您的图像是灰度的。

您还可以使用ImageMagick C++库here实现相同的处理。

关于c++ - 在C++中将像素数据转换为图像,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31413033/

10-09 05:49