У меня есть следующий алгоритм (рабочий):обработки изображений отладки в цикле Qt
- получить изображение с веб-камеры
- образа процесса
- изображение в графическом интерфейсе и показать его
Интерфейс GUI запрограммирован с помощью Qt, и все изображения и обработка изображений работают с OpenCV. Участвуют 3 класса, назовите их Acquire
, Process
и Gui
.
Acquire
(Inherits from QObject) захватывает изображение и вызывает Process
(Не наследует от QObject), чтобы выполнить обработку изображения. Process
возвращает результат Acquire
, который излучает сигнал, пойманный Gui
(Inherits from QObject), который преобразует изображение (в формате Mat) в QImage и рисует его.
Я ввожу изменения в класс Process
, и я хотел бы иметь визуальную обратную связь. Поскольку все выполнено в цикле Qt, я не могу использовать функции cv::namedWindow
и cv::imshow
(ничего не отображается).
Возникает вопрос: Существует какой-либо быстрый способ сделать визуальный отладки, чтобы узнать, что происходит внутри Process
без макияжа Process
и Gui
друзей, или соединив их с помощью/механизма слот сигнала или любое другое решение, которое включает в себя большие изменения в структура программы?
Ваша проблема непонятна. Вы сказали, что можете отправлять данные из процесса в Gui. Почему вы не можете использовать эту возможность для отправки отладочных данных, которые вам нужно отобразить? –
Я этого не делал. Приобретает захват изображения, отправляет его в Process, Process возвращает результат для Acquire and Acquire испускает сигнал, пойманный Gui, который рисует обработанное изображение на экране. В любом случае, я отредактирую вопрос, чтобы сделать его более ясным. – Manuel
Вы можете создать еще один QWidget в Process, отобразить его в отдельном окне и поместить в него отладочную информацию. Также вы можете записывать отладочную информацию в файлы. –