以下是将 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 数据中即可。

C++ BGRA to BGR Conversion: Efficient Code Example

原文地址: https://www.cveoy.top/t/topic/keA8 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录