2016-02-09 6 views
0

Я использую Qt Creator для реализации приложения, которое читает видео, и нажав на кнопку, я сохраню отображаемый кадр. Затем я обработаю этот кадр с помощью Opencv.Извлечение изображения из QMediaPlayer Video

Как отображать видео с QmediaPlayer, как я могу извлечь кадр из видео? Затем я должен был бы преобразовать этот кадр в образ Mat в Matlab.

Благодаря

ответ

0
QMediaPlayer *player = new QMediaPlayer(); 
QVideoProbe *probe = new QVideoProbe; 

connect(probe, SIGNAL(videoFrameProbed(QVideoFrame)), this, SLOT(processFrame(QVideoFrame))); 

probe->setSource(player); // Returns true, hopefully. 

слот ProcessFrame:

void processFrame(QVideoFrame const&) { 
    if (isButtonClicked == false) return; 
    isButtonClicked = false; 

    ... 
    process frame 
    ... 

} 

QVideoProbe reference

QVideoFrame reference

Вы можете использовать QVideoFrame :: биты() для обработки изображения с OpenCV

+0

Хорошее спасибо! И ... мне нужно определить функцию processFrame? где? –

+0

ProcessFrame - это простой слот. Вы можете определить его везде как любую функцию, просто подключите эту функцию (слот) к QVideoProbe :: videoFrameProbed. –

+0

Также вы можете использовать QVideoProbe с qcamera :) –