Как отлаживать проекты обработки изображений на Eclipse?

Здесь, на работе, у нас есть большой опыт разработки приложений для обработки изображений для платформы TI DSP с использованием старой версии компоновщика кода (CC 3.3). Мы переходим на платформу ARM, используя Eclipse (приправленный и распространяемый Xilinx).

В старом компоновщике кода часто использовалась функция, которую нужно было искать, это виджет IDE, который мог отображать определенную область памяти в виде растрового изображения. Он имел сетку свойств, в которой вы могли бы определять такие вещи, как размер, формат пикселя и ориентацию шага, чтобы правильно интерпретировать каплю памяти как изображение. У инструмента также было несколько полезных функций, таких как масштабирование, счетчик градаций серого, профиль линии, гистограмма и т. Д.

Есть ли что-то подобное для затмения? Если нет, то насколько сложно будет его создать? Я имею в виду, насколько сложно создать базовый плагин для затмения, который извлекает информацию из области памяти в интерфейсе jtag?

5

Решение

Eclipse не имеет такой функции; лично я работаю в аналогичной среде (обработка изображений на архитектуре DaVinci + Eclipse IDE). Написание плагина Eclipse не является слишком сложной задачей — там множество учебников (например, этот). Но поддержание этого может стать одним. У нас есть ссылка Код в QT, поэтому нам не нужны такие функции. но если вы действительно хотите что-то подобное, я думаю, вы всегда можете сделать memdump в двоичном файле и интерпретировать шляпу как изображение. Пока формат не является чем-то особенным (например, вы выгружаете формат jpeg), все должно быть в порядке.

2

Другие решения

GDB может вызвать скрипт Python. Если для отладки используется GDB, используйте это. Вы можете использовать OpenCV или PIL или любую библиотеку изображений, чтобы показать изображение.

Обновлено 2 апреля 2014 года:

Пусть «data» будет указателем на изображение.
Внутри GDB запустите «python data = gdb.parse_and_eval (» data «)». Это даст доступ к памяти подчиненного, на которую указывают данные.
например, «python print (data [35])» покажет 35-й элемент «data».

Поскольку данные изображения могут быть прочитаны в Python, они могут быть отображены или проанализированы.

Следующие ссылки помогут в достижении цели:

  1. http://www.cinsk.org/wiki/Debugging_with_GDB:_How_to_create_GDB_Commands_in_Python
  2. https://sourceware.org/gdb/onlinedocs/gdb/Python.html#Python

Примечание. Пожалуйста, игнорируйте добавленный мной комментарий. Нажмите клавишу ввода, прежде чем писать фактическую информацию.

Надеюсь это поможет.

3

Это хорошая идея для статических объектов, но что, если ваша память временно создается в куче или в стеке? Не проще ли в динамических средах (использующих openCV) просто поместить три строки кода, когда вам нужно увидеть содержимое буфера в виде изображения и использовать Qt для масштабирования изображения и гистограммирования?

Mat I(h, w, CV_8U, buf);
imshow(“winname”, buf);
waitKey(-1);

Я слышал, что в последней версии модуля highCi openCV есть опции, о которых вы говорили, но я лично вижу только очень ограниченное использование его в среде динамического программирования. И все же я все время визуализирую данные. Более того, мне нравится взаимодействовать с моими изображениями, например, поворачивать их в 3D, щелкать и получать значения или отмечать определенный сегмент. Я думаю, это будет трудно сделать с помощью специальных плагинов.

1

Я только что нашел это; еще не пробовал:

https://github.com/cuekoo/GDB-ImageWatch

Если затмение вызывает GDB, может быть, есть способ …

0
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector