2011-12-16 192 views
0

我有一個圖像緩衝區存儲爲無符號整數類型的線性數組[640 * 480],我想將該數組保存爲可查看的位圖圖像。我從相機捕獲了一張圖像,並使用C++代碼從GigE電纜中檢索了其圖像緩衝區。所以請告訴我如何在C++中將RGB值的整數數組寫入位圖以及所需的頭文件。我有流緩衝區將圖像緩衝區保存爲位圖圖像

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,因爲照片是單色的鉻。

+0

每像素有多少位(32,16,24)?代表顏色的`unsigned integer`如何? – INS 2011-12-16 07:51:59

回答

0

將像素數據與簡單的BMP文件頭一起保存,並進行適當的初始化。請參閱格式說明here