Визуальная отладка OpenCV приложений для Zynq US+ в Xilinx SDK
При работе на персональном компьютере мы не задумываемся над этим: просто вызываем команду imshow и она выводит изображение на экран.
С встроенной системой на основе Цинка ( Zynq US+ ) все обстоит иначе так как мы разрабатываем приложение в SDK на хосте (в моем случае это Ubuntu ) и подключаемся к Цинку используя TCF агент (открытый протокол Eclipse для отладки встраиваемых систем ).
Так вот, когда мы вызываем дебаг и бежим по программе доходим до команды imshow консоль SDK выдает ошибку "cannot open display" и выполнение стопорится на этом шаге.
Физически к плате не подключен дисплей, поэтому для отображения мы воспользуемся X форвардингом и перенаправим видеопоток на хост.
Для начала подключимся по SSH к плате, параметр –X означает что мы используем X forwarding.
После того как мы зашли на плату, командой echo $DISPLAY проверим какой сейчас задан параметр этой переменной окружения. Дальше идем в настройки дебагера и открываем вкладку Environment:
Здесь указываем две переменные DISPLAY – значение, которое мы узнали на предыдущем шаге и HOME – домашняя директория на плате.
После этих несложных шагов, мы можем вывести изображение на экран (обратите внимание на небольшое окошко с цифрой 7 ).
Теперь после таких несложных шагов будет просто визуально отлаживать OpenCV приложения используя SDK.