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

标签 c++ image

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

最佳答案

假设您的图片大小为 200 像素 x 100 像素。将 20,000 个 16 位值写入二进制文件。

在命令行中,运行 ImageMagick:

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

或者,如果你想要一个 JPG

magick ... image.jpg

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

magick yourFile.pgm  image.jpg

标题将是:

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

参见 Wikipedia NetPBM article .

关于c++ - 使用 C++ 从 16 位数据创建灰度图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46948817/

相关文章:

c++ - C++ getter 应该返回什么

c++ - 为什么复制和 move 构造函数以相同数量的 memcopies 结束?

c++ - 如何将 cerr 和 clog 重新定义为共享日志文件?

android - 实时图像也在离线(无互联网)模式下显示 - Ionic 3 App

c++ - Windows 上的 Libev

c++ - C/C++运行时从何而来?

css - 将图像 float 在父容器之外

css - Rails 4 image_tag 不从 Assets 加载图像

javascript - 使用cropper js将 Canvas 转换为blob

css - 使用CSS在悬停时 move 图像