将图像缓冲区保存为位图图像

时间:2011-12-16 07:19:26

标签: c++ visual-c++

我有一个图像缓冲区存储为无符号整数类型的线性数组[640 * 480],我想将此数组保存为可以查看的位图图像。我从相机中捕获了一个图像,并使用c ++代码从GigE电缆中检索了它的图像缓冲区。所以请告诉我如何在C ++中将Bitmap的整数数组写入Bitmap以及所需的头文件。我有流缓冲区

if (Result.Succeeded())
            {
                // Grabbing was successful, process image
                cout << "Image #" << n << " acquired!" << endl;
                cout << "Size: " << Result.GetSizeX() << " x "
                << Result.GetSizeY() << endl;

                // Get the pointer to the image buffer
            const unsigned int *pImageBuffer = (int *) Result.Buffer();

pImagebuffer是图像缓冲区,请忽略函数,因为它们属于自定义编译器。我只想将RGB值转换为位图图像,然后保存 另外pImageBuffer给我R = G = B,因为照片是单色铬。

1 个答案:

答案 0 :(得分:0)

将像素数据与简单的BMP文件头保存在一起,并进行适当的初始化。请参阅格式说明here