Конечно! Спасибо

кой-то причине мне нужно обернуть 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 замедляется Есть ли другой способ нарисовать изображение с более низкой стоимостью и эффективнее?

Ответы на вопрос(1)

Ваш ответ на вопрос