Я расшифровал видеокадр с помощью библиотеки FFMPEG с IP-камеры.Этот формат видеокадра AV_PIX_FMT_NV12.AV_PIX_FMT_NV12 определяется в библиотеке FFMPEG.Я хочу конвертировать NV12 в BGR (AVFrame в cv :: Mat), поэтому я пытаюсь это сделать, но у меня получилось неправильное изображение:
Пожалуйста, помогите мне.Я хочу конвертировать правильно.Кто-нибудь может угадать эту проблему?Пожалуйста, обратитесь к следующему коду:
void CALLBACK MyCallbackFunc(AVFrame *avFrame )
{
if (avFrame != NULL)
{
cv::Mat imageRGB;
cv::Mat picI420 = cv::Mat(avFrame->height * 3 / 2, avFrame->width, CV_8UC1, avFrame->data[0]);
cv::cvtColor(picI420, imageRGB, CV_YUV2BGR_NV12);
imshow("imageRGB", imageRGB);
cvWaitKey(1);
}
}
Извините за мой плохой английский.Если вы хотите получить больше информации, пожалуйста, прокомментируйте ниже.