VOC release 5 demo.м не работает


Я пытаюсь использовать систему Berkeley matlab для обнаружения и локализации объектов на изображениях. Систему можно найти здесь - http://www.cs.berkeley.edu/~rbg / латентный/

Моя система-iMac, Matlab 2014a и XCode 5.1.1.

Я пытаюсь запустить демо.M файл, и вот результат, который я получаю:

Компиляция кода...Дом с лязгом++в Xcode'. Предупреждение: может быть, вы нужно позвонить fv_cache ("снять") в первую очередь?

В fv_compile в 50 в compile в 48 в demo в 5 Building с "Xcode Clang++". Мекс закончил успешно. Здание с 'Xcode Лязг++'. Мекс закончил успешно. Дом с лязгом++в Xcode'. / Пользователи / стажер / документы / MATLAB / voc-release5 / features / features. cc: 28: 21: предупреждение: неиспользуемая функция 'max' [- Wunused-function] статический встроенный поплавок Макс(поплавок х, поплавок г) { возвращение (х

MEX успешно завершен. Дом с лязгом++в Xcode'. Мекс успешно завершить. Дом с лязгом++в Xcode'. Мекс закончил успешно. Дом с лязгом++в Xcode'. Мекс закончил успешно. Дом с лязгом++в Xcode'. Мекс закончил успешно. Ошибка при использовании неизвестного аргумента MEX '- o'.

Ошибка компиляции (строка 64) eval ([mexcmd ' gdetect/fconvsse. cc-o fconv']);

Ошибка в демо-версии (строка 5) компиляции;

Любая помощь приветствуется, Спасибо, ОЗ Радиано.

2 2

2 ответа:

Я должен признать, что в конечном итоге я использовал Matlab computer vision toolbox, который использует функции Viola-Jones Haar для обнаружения лиц (они утверждают, что у них есть другие обученные детекторы, которые вы можете посмотреть, если вам этого недостаточно). Этот набор инструментов сделал работу для моих нужд, и поэтому я оставил первоначальную проблему нерешенной.

Несмотря на это, я добился некоторого прогресса в выполнении этой работы обнаружения, прежде чем я двинулся дальше, и вот оно:

Я скомпилировал новый компилятор для matlab, который будет поддерживать OpenMP: Википедия определяет OpenMP следующим образом:

OpenMP-это API, поддерживающий многоплатформенную общую память. многопроцессорное программирование на языках C, C++ и Fortran на большинстве процессоров архитектуры и операционные системы, включая Solaris, AIX, HP-UX, Платформы Linux, Mac OS X и Windows

Обучающий код вызывает несколько файлов кода C для улучшения производительности. Проблема в том, что обычный компилятор matlab (как и для Matlab 2014a) не поддерживает OpenMP , и поэтому необходимо скомпилировать компилятор, поддерживающий OpenMP, и позволить matlab напрямую к нему обращаться. Я установил gcc48 из macports и изменил matlab mexopts.sh файл, указывающий на новый компилятор.

Надеюсь, что это кому-нибудь поможет, просто имейте в виду, что я не делал это из конца в конец, но оставил его и перешел в MATLAB computer vision toolbox.

eval([mexcmd ' gdetect/fconvsse.cc -o fconv']);

Замените -o на -output, и ваша система будет работать идеально.