Конечно! Спасибо
кой-то причине мне нужно обернуть opencv VideoCapture в класс, который будет использоваться в Qt Quick.
Есть два класса, один - Camera, другой - CameraView. CameraView унаследован от QQuickPaintedItem.
Класс камеры будет получать изображение периодически. Это достигается с помощью QObject :: startTimer (int interval). (Например, если частота кадров веб-камеры равна 30, интервал таймера составляет 1000/30 - 8, 8 - отклонение времени). Как только камера получает изображение, она уведомляет CameraView о перерисовке, вызывая CameraView :: Update ().
А в CameraView :: paint (QPainter *) CameraView получит копию изображения из класса Camera и раскрасит это изображение с помощью вызова QPainter :: drawImage (...).
У меня есть некоторые проблемы в процессе кодирования:
Я пытаюсь заменить временное событие на QThread, чтобы периодически получать изображение с камеры. Когда я вызываю CameraView :: Update () в QThread, CameraView не перерисовывается. В чем проблема?
В моем ноутбуке, когда я заставляю CameraView рисовать изображение в полноэкранном режиме, я обнаружил, что одна программа на Python замедляется Есть ли другой способ нарисовать изображение с более низкой стоимостью и эффективнее?