RGB24圖像顛倒解決方法
- 2019 年 10 月 6 日
- 筆記
RGB24格式圖像輸出顛倒可以使用以下方法轉換過來。
實現
- 將數據強制轉換為3位元組(符合RGB24的數據排列方式);
- 使用
std::reverse
函數將每3位元組數據從頭到尾顛倒一次。
struct Rgb24Byte { uint8_t r; uint8_t g; uint8_t b; }; Rgb24Byte *rgb24Buf = (Rgb24Byte *)rgb24Data; std::reverse(rgb24Buf, rgb24Buf + bufSize); // 反轉數據
相關知識
- RGB24圖像為每個像素佔用8bit(1個位元組),數據排列順序為
BGR BGR BGR ...
。 reverse
函數用於反轉容器中的內容,包含在algorithm
庫中。效果:"123456" -> "654321"
。- RGB32和RGB24相比沒有本質區別,除了多了一個位元組(透明度),每個像素佔用32bit(4個位元組),數據排列順序為
BGRA BGRA BGRA ...
。