【发布时间】:2018-11-26 09:13:10
【问题描述】:
我有一个带有Video 组件/控件的 QML QuickControls 2 应用程序。我想创建一个 C++ 回调来处理视频中的每一帧。 C++ 回调函数会处理每一帧,即在图像/帧中找到边缘并返回该边缘图像以供 UI 显示。
我怎样才能把这一切联系起来?即,以某种方式告诉 QML 在每一帧上调用一个 c++ 回调?
Video {
id: video
fillMode: VideoOutput.PreserveAspectFit
anchors.fill : parent
source: "file:///D:/cards.mp4"
muted: true
focus: true
Keys.onSpacePressed: video.playbackState == MediaPlayer.PlayingState ? video.pause() : video.play()
Keys.onLeftPressed: video.seek(video.position - 5000)
Keys.onRightPressed: video.seek(video.position + 5000)
}
我的回调类,不确定是否正确:
class ImageProcessor : public QObject
{
Q_OBJECT
public:
explicit ImageProcessor(QObject *parent = nullptr);
Q_INVOKABLE void processImage(QString va);
signals:
public slots:
};
【问题讨论】:
-
"在每一帧上调用一个 c++ 回调" 你好,你能澄清一下吗?你如何将帧传递给回调函数?另外,
QString va应该代表什么参数?