Отображение изображений с помощью opencv, запущенного на удаленном хосте, на локальном дисплее? - PullRequest
4 голосов
/ 25 декабря 2011

У меня есть простой кусок кода, который использует openCV, и я хочу запустить его на плате разработки ARM (freescale MX), к которой не прикреплен дисплей. Я уже несколько дней пытаюсь запустить код на этом удаленном устройстве и вывести его графический вывод на мою локальную машину, но безуспешно ...

Моя настройка:

  • Ubuntu 10.04 на моей локальной машине
  • Linux 2.6 работает на плате, со всеми соответствующими пакетами, которые я мог придумать.
  • Ethernet-подключение к моей локальной машине
  • openCV скомпилирован статически с включенным GTK
  • с использованием GDB / GDBServer для отладки с использованием SSH

и все работает просто отлично, примите функции дисплея OpenCV HIGHGUI, которые не влияют.

Некоторые заметки:

  • Я могу настроить DISPLAY env var так, чтобы он указывал на мой локальный компьютер, и я получаю gtk-demo / xterm / what-is-using-X появится на моей локальной машине, даже при запуске из того же сеанса SSH, который я использую для запуска и отладка моего кода.
  • Я пытаюсь избежать попадания в GTK / QT и исправления / подготовки моей собственной оболочки экрана. У меня возникло ощущение, что мне просто нужна небольшая модификация конфигурации GTK / HIGHGUI, чтобы это работало ...

Мой код (который компилируется и работает нормально, примите без графического вывода):

cv::Mat im = cv::imread("/root/capture.jpg");
//im is valid and not empty at this point
cvNamedWindow( "test" );
cv::imshow( "test", im);
cvWaitKey();
cvDestroyWindow( "test" );

Кто-нибудь может помочь?

Спасибо


Обновление:

решаемые

Читая сообщение, которое я только что опубликовал, я обнаружил, что - на самом деле я использовал getchar () вместо cvWaitKey (), что представляется важным ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...