2017-01-19 3 views
2

Теперь я использую NDK для реализации метода обработки изображений, и я хочу импортировать некоторые дополнительные модули, такие как xphoto и matlab, в OpenCV, чтобы я мог включить дополнительные библиотеки в свой файл cpp.Как добавить дополнительные модули в OpenCV4Android?

Я уже загрузил дополнительные модули. Эти модули выглядят следующим образом:

├── CONTRIBUTING.md 
├── doc 
├── LICENSE 
├── modules 
├── README.md 
└── samples 

и папка modules выглядит следующим образом:

modules 
├── aruco 
├── bgsegm 
├── bioinspired 
├── ccalib 
├── cnn_3dobj 
├── contrib_world 
├── cvv 
├── datasets 
├── dnn 
├── dnns_easily_fooled 
├── dpm 
├── face 
├── freetype 
├── fuzzy 
├── hdf 
├── line_descriptor 
├── matlab 
├── optflow 
├── phase_unwrapping 
├── plot 
├── README.md 
├── reg 
├── rgbd 
├── saliency 
├── sfm 
├── stereo 
├── structured_light 
├── surface_matching 
├── text 
├── tracking 
├── xfeatures2d 
├── ximgproc 
├── xobjdetect 
└── xphoto 

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

ответ

2

Я не думаю, что вы могли просто добавить/включить модули Contrib в готовые библиотеки OpenCV4Android. Я бы сказал, что вы должны скомпилировать OpenCV + contrib из источника. Для этого у вас есть два варианта:

Вариант 1: После этого steps вы можете скомпилировать OpenCV + contrib для целевой ABI.

Вариант 2: Вы можете использовать скрипт кросс-компиляции OpenCV, который позволяет вам скомпилировать OpenCV + Contrib для многих доступных ABIS (armeabi-v7a, armeabi, arm64-v8a, x86_64, x86, mips64 и mips), делая выполните следующие действия.

-Загрузить/клонировать OpenCV и дополнительный код исходного кода.

-Тогда вы должны запустить эту командную строку для компиляции OpenCV для всех упомянутых ABIS, добавляющих модули Opencv contrib в качестве входного параметра сценария pyhton.

python ../opencv/platforms/android/build_sdk.py --extra_modules_path ../opencv_contrib/modules <dir-to-store-result> ../opencv 

Если вы не предоставили пути к Android SDK и NDK, чтобы ваши переменные окружения, так что ваша система сборки осознает их местоположения, можно также добавить их в качестве входных параметров для сценария питона.

python ../opencv/platforms/android/build_sdk.py --extra_modules_path ../opencv_contrib/modules --ndk_path <your-path-to-ndk-top-level-folder> --sdk_path <your-path-to-sdk-top-level-folder> <dir-to-store-result> ../opencv 

Таким образом, вы бы иметь полный OpenCV + CONTRIB модули компиляции внутри < реж к магазин-результат>, с той же структурой, как OpenCV4Android.

Смежные вопросы