2013-08-07 2 views
0

У меня есть следующий алгоритм (рабочий):обработки изображений отладки в цикле Qt

  1. получить изображение с веб-камеры
  2. образа процесса
  3. изображение в графическом интерфейсе и показать его

Интерфейс 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 друзей, или соединив их с помощью/механизма слот сигнала или любое другое решение, которое включает в себя большие изменения в структура программы?

+0

Ваша проблема непонятна. Вы сказали, что можете отправлять данные из процесса в Gui. Почему вы не можете использовать эту возможность для отправки отладочных данных, которые вам нужно отобразить? –

+0

Я этого не делал. Приобретает захват изображения, отправляет его в Process, Process возвращает результат для Acquire and Acquire испускает сигнал, пойманный Gui, который рисует обработанное изображение на экране. В любом случае, я отредактирую вопрос, чтобы сделать его более ясным. – Manuel

+0

Вы можете создать еще один QWidget в Process, отобразить его в отдельном окне и поместить в него отладочную информацию. Также вы можете записывать отладочную информацию в файлы. –

ответ

0

Вы можете создать другой класс и поместить в него весь код для вывода отладки. Подключите процесс к этому классу для отправки отладочной информации.

+1

Я создал небольшой проект, показывающий, как это сделать. Может быть, кто-то может найти это полезным: https://github.com/mmartinortiz/DebugingCvWithQt – Manuel

Смежные вопросы