Может ли кто-нибудь порекомендовать практическое руководство или дать краткий обзор того, что связано с интеграцией OpenCV с более крупными программами на основе графического интерфейса пользователя? Каковы популярные способы сделать это?
В частности, обработка видео с помощью OpenCV при захвате / предварительном просмотре без с использованием HighGUI кажется особенно загадочной. Я надеюсь, что кто-нибудь сможет развенчать это.
Моя конкретная конфигурация - это либо Juce, либо Qt, в зависимости от того, что можно сделать. Кроссплатформенность не критична - если в Windows есть отличный способ сделать это, я могу убедиться. Наличие поддержки сообщества важно.
Я слышал, что HighGUI предназначен исключительно для тестирования и не подходит для реальных приложений. Кто-то рекомендовал библиотеку VideoInput , но она экспериментальная.
испустите сигнал
после захвата кадра. Используйте механизм Qt msleep
, а не OpenCV. Итак, мы все еще используем OpenCV highgui для захвата. Преобразование cv :: Mat в QtImage:
QImage qtFrame (cvFrame.data, cvFrame.size (). Width, cvFrame.size (). Height, cvFrame.step, QImage :: Format_RGB888);
qtFrame = qtFrame.rgbSwapped ();
Необязательно: Визуализируйте с помощью GLWidget. Преобразуйте QtImage в GLFormat с помощью встроенного метода Qt:
m_GLFrame = QGLWidget :: convertToGLFormat (frame);
this-> updateGL ();