OpenCV C ++将YUV420转换为RGB问题

时间:2018-12-13 08:19:22

标签: opencv

我正尝试通过以下代码片段将YUV420缓冲区写入jpg图像:

cv::Mat yuvImg;

yuvImg.create(dec.GetHeight() * 3 / 2, dec.GetWidth(), CV_8UC3);
memcpy(yuvImg.data, yuvBuf, dec.GetHeight() * 3 / 2 * dec.GetWidth() * sizeof(unsigned char));
cv::Mat rgbImg;
cv::cvtColor(yuvImg, rgbImg, CV_YUV2BGR_I420);

char img_path[100];
sprintf(img_path, "decoded_imgs/%d.jpg", frame_cnt++);
cv::imwrite(img_path, rgbImg);

但是结果图像显然不正确:

enter image description here

如果能提供任何建议,我将不胜感激!

0 个答案:

没有答案