У меня есть простой кусок кода, который использует 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 (), что представляется важным ...