我是Qt的新手,我只知道基础知识:创建接口和连接插槽。简而言之,我的知识根本不是深刻的。
我需要打开一个视频文件并捕获它的所有帧以获得R,G,B通道,然后再处理光流(这已经完成)帧到帧以最终在窗口上表示它。
是否可以使用Qt获取视频帧?我已经研究了很多,但没有找到任何结论。
答案 0 :(得分:6)
您可以使用QMediaPlayer来实现此目的。
QMediaPlayer::setVideoOutput
将您的实施设置为媒体播放器的输出。 QAbstractVideoSurface::present(const QVideoFrame & frame)
的实施时调用QAbstractVideoSurface
。然后,您可以访问QVideoFrame中的频道和所有内容,并在小部件上绘制框架。答案 1 :(得分:1)
我不知道为什么我不能包含必要的Qt头来处理帧(它们似乎总是有未解析的依赖关系而有些不存在)所以我转向OpenCV 3.0并且这样做:
tab+nb
它完全符合我的目的,所以我没有继续研究。
非常感谢。