C++ BGRA to BGR Conversion: Efficient Code Example
以下是将 BGRA 转换为 BGR 的示例代码:
void bgra_to_bgr(unsigned char* bgra_data, unsigned char* bgr_data, int width, int height) {
int num_pixels = width * height;
for (int i = 0; i < num_pixels; i++) {
bgr_data[i * 3] = bgra_data[i * 4];
bgr_data[i * 3 + 1] = bgra_data[i * 4 + 1];
bgr_data[i * 3 + 2] = bgra_data[i * 4 + 2];
}
}
该函数接受三个参数:BGRA 数据指针,BGR 数据指针以及图像的宽度和高度。它通过遍历每个像素并将其 BGRA 值转换为 BGR 值来执行转换。转换过程中,每个像素的第一个字节是蓝色通道,第二个字节是绿色通道,第三个字节是红色通道,第四个字节是透明度通道,我们只需将前三个通道复制到 BGR 数据中即可。
原文地址: https://www.cveoy.top/t/topic/keA8 著作权归作者所有。请勿转载和采集!