Использование библиотеки OpenCV в Octave
Может ли кто-нибудь дать некоторое представление о поиске/создании оболочек OpenCV для использования в Octave?
Я нашел несколько старых веб-страниц, которые говорят об этом, но не смогли понять это!
EDIT:
На этой странице: http://octave-swig.sourceforge.net/octave-opencv.html
В последнем выпуске говорится: "3/27/08: эти привязки были интегрированы в OpenCV. Последние источники теперь доступны только из OpenCV CVS".
Но OpenCV 2.4.6 не поддерживает Octave. Похоже, что в какой-то момент (OpenCV 2.0) в файле cmake OpenCV появилась "сборка с поддержкой октавы". Но этот параметр не существует в cmakelists.txt, который поставляется с OpenCV больше!
Ответы
Ответ 1
Первым методом является Matlab interface generator, доступный в opencv contrib. Этот репозиторий предоставляет код для создания оболочек MEX для функций OpenCV - эти MEX подходят также для октавы, но для правильной настройки вам нужен файл CMake для самого OpenCV (то есть вы должны создать его из источников).
Как упоминалось в @McMa, есть хорошая ссылка на сбор уже созданных интерфейсов для Matlab/Octave: MEXOpenCV - вы можете просто используйте существующие источники для создания MEX, подходящих для октавы.
Для обоих методов, когда у вас уже есть источники C/С++ с интерфейсами Matlab (например, файлы C/С++ с mexFunction), вы можете скомпилировать их в MEX с помощью < следующую команду (в среде linux, но я полагаю, что нет больших различий в окнах):
mkoctfile --mex -l<opencv lib name> <source name>
где -l<opencv lib name>
требуется модуль (что-то вроде -lopencv_core -lopencv_imgproc
), а <source name>
- ваш исходный файл (с именем mexFunction).
Более подробную информацию о mkoctfile
можно найти на странице октавной документации.
Ответ 2
Я бы использовал интерфейс MEX для Octave:
https://www.gnu.org/software/octave/doc/interpreter/Mex_002dFiles.html
Вы можете вызывать С++ (я полагаю, библиотеки OpenCV) из Octave.
P.D:
Эта ссылка кажется лучшим вариантом:
https://www.gnu.org/software/octave/doc/interpreter/Oct_002dFiles.html#Oct_002dFiles < - Oct files
Ответ 3
Я использую функции OpenCV, скомпилированные как MEX файлы в MatLab, и он работает плавно. Поскольку функции MEX выглядят почти одинаковыми как для MatLab, так и для Octave, и в зависимости от компиляторов и других подобных деталей, подобные коллекции
MEXOpenCV
может работать либо напрямую, либо быть хорошей отправной точкой для вас.