summaryrefslogtreecommitdiffhomepage
path: root/cv/video-widget.hpp
diff options
context:
space:
mode:
authorStanislaw Halik <sthalik@misaki.pl>2016-08-10 09:45:00 +0200
committerStanislaw Halik <sthalik@misaki.pl>2016-08-10 10:41:58 +0200
commit5a4c8f61e0ad001a8c462e50117b1fd474d27e6c (patch)
tree1fa353c2d9b01cdf76af27dad261e1867a3c772a /cv/video-widget.hpp
parentc160afe719611b27910d8347ece6e49ee2a3b32f (diff)
cv: move calibrator and video widget to cv module
Adjust usages in PT and Aruco trackers.
Diffstat (limited to 'cv/video-widget.hpp')
-rw-r--r--cv/video-widget.hpp39
1 files changed, 39 insertions, 0 deletions
diff --git a/cv/video-widget.hpp b/cv/video-widget.hpp
new file mode 100644
index 00000000..2d5d673f
--- /dev/null
+++ b/cv/video-widget.hpp
@@ -0,0 +1,39 @@
+/* Copyright (c) 2012 Patrick Ruoff
+ * Copyright (c) 2014-2016 Stanislaw Halik <sthalik@misaki.pl>
+ *
+ * Permission to use, copy, modify, and/or distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ */
+
+#pragma once
+
+#include "opentrack-compat/timer.hpp"
+#include <opencv2/core/core.hpp>
+#include <memory>
+#include <QObject>
+#include <QWidget>
+#include <QPainter>
+#include <QPaintEvent>
+#include <QTimer>
+#include <QMutex>
+#include <QMutexLocker>
+#include <QDebug>
+
+class cv_video_widget final : public QWidget
+{
+ Q_OBJECT
+public:
+ cv_video_widget(QWidget *parent);
+ void update_image(const cv::Mat &frame);
+protected slots:
+ void paintEvent(QPaintEvent*) override;
+ void update_and_repaint();
+private:
+ QMutex mtx;
+ QImage texture;
+ QTimer timer;
+ Timer window_check_timer;
+ cv::Mat _frame, _frame2, _frame3;
+ bool freshp, visible;
+};