cvtColor(yuvimg, rgbimg, COLOR_YUV2BGR_NV12); 转成BGR_NV12后用opencv可以imshow成功显示。 BGR_NV12怎么转RGB格式啊?
OpenCV库并不直接支持BGR_NV12到RGB的转换,因此你需要首先将BGR_NV12转换为BGR,然后再将BGR转换为RGB。
你可以通过以下步骤来实现这个转换:
- 将BGR_NV12转换为BGR。OpenCV提供了
cvtColor
函数可以实现这个转换,代码如下:
cpp复制代码
cvtColor(bgr_nv12_img, bgr_img, COLOR_YUV2BGR_NV12);
这里bgr_nv12_img
是输入的BGR_NV12图像,bgr_img
是输出的BGR图像。
- 将BGR转换为RGB。这个转换也可以通过
cvtColor
函数实现,代码如下:
cpp复制代码
cvtColor(bgr_img, rgb_img, COLOR_BGR2RGB);
这里bgr_img
是输入的BGR图像,rgb_img
是输出的RGB图像。
因此,完整的转换代码可以写成:
cpp复制代码
cvtColor(bgr_nv12_img, bgr_img, COLOR_YUV2BGR_NV12);
cvtColor(bgr_img, rgb_img, COLOR_BGR2RGB);
这里bgr_nv12_img
是输入的BGR_NV12图像,rgb_img
是输出的RGB图像。