Как конвертировать NV12 в BGR (AVFrame в cv :: Mat) - PullRequest
0 голосов
/ 01 января 2019

Я расшифровал видеокадр с помощью библиотеки FFMPEG с IP-камеры.Этот формат видеокадра AV_PIX_FMT_NV12.AV_PIX_FMT_NV12 определяется в библиотеке FFMPEG.Я хочу конвертировать NV12 в BGR (AVFrame в cv :: Mat), поэтому я пытаюсь это сделать, но у меня получилось неправильное изображение:

enter image description here

Пожалуйста, помогите мне.Я хочу конвертировать правильно.Кто-нибудь может угадать эту проблему?Пожалуйста, обратитесь к следующему коду:

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);
    }
}

Извините за мой плохой английский.Если вы хотите получить больше информации, пожалуйста, прокомментируйте ниже.

...