本文介绍了从QMediaPlayer视频中提取图像的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用Qt Creator来实现读取视频的应用程序,通过单击按钮,我将保存正在显示的帧。然后我将使用Opencv处理该帧。

i am using Qt Creator to implement an application that reads a video and by clicking on a button i will save the frame that is being showed. Then i will process that frame with Opencv.

使用QmediaPlayer显示视频,我如何从视频中提取帧?然后我应该能够在Matlab中将该帧转换为Mat图像。

Having a video being displayed with QmediaPlayer, how can i extract a frame from the video? I should then be able to convert that frame to a Mat image in Matlab.

谢谢

推荐答案

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

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

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

processFrame slot:

processFrame slot:

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

  ...
  process frame
  ...

}

您可以使用QVideoFrame :: bits()来处理OpenCV图像

You can use QVideoFrame::bits() to process image with OpenCV

这篇关于从QMediaPlayer视频中提取图像的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-23 02:20