C++ 将图像缓冲区另存为位图图像
我有一个存储为无符号整数类型的线性数组[640*480]的图像缓冲区,我想将该数组保存为可以查看的位图图像。我已经从相机中捕获了一张图像,并从C++中的GigE电缆中检索出它的图像缓冲区。所以请告诉我如何在C++中用位图文件来写一个整数数组的RGB值。我有流缓冲区C++ 将图像缓冲区另存为位图图像,c++,visual-c++,C++,Visual C++,我有一个存储为无符号整数类型的线性数组[640*480]的图像缓冲区,我想将该数组保存为可以查看的位图图像。我已经从相机中捕获了一张图像,并从C++中的GigE电缆中检索出它的图像缓冲区。所以请告诉我如何在C++中用位图文件来写一个整数数组的RGB值。我有流缓冲区 if (Result.Succeeded()) { // Grabbing was successful, process image cout
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,因为照片是单色的。将像素数据与简单的BMP文件头一起保存,并进行适当初始化。请参阅格式说明。每个像素有多少位32、16、24?表示颜色的无符号整数是怎样的?一个小注释:方法的大写字母拼写是C特定的,而不是C++ + MaN8数据。每像素8位。
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();