一、前言
opencv document : https://docs.opencv.org/master/index.html
tracking 不在 modules中 而在 extra modules 中 ,
因此直接下载的opencv_android_sdk\sdk\java\src\org\opencv\中 没有tracking ,
无法 import org.opencv.tracking;
https://docs.opencv.org/4.5.0/javadoc/org/opencv/tracking/Tracker.html
因为 tracking等部分功能已经移到opencv_contrib 中,需要单独下载并重新编译
二、编译opencv版本
opencv : https://github.com/opencv/opencv/releases 4.5.0
opencv_contrib : https://github.com/opencv/opencv_contrib/releases 4.5.0
(下载相同版本)
三、方法尝试
方法1.1:linux: https://blog.csdn.net/heiheiya/article/details/80998082
方法1.2 https://www.cnblogs.com/ahfuzhang/p/11069832.html
失败 过程略
方法2:BUILD_SDK.PY : https://www.freesion.com/article/3476178517/
python3 build_sdk.py \
--ndk_path $ANDROID_NDK \
--sdk_path $ANDROID_SDK \
--no_samples_build \
work_dir '/dfsdata2/liuwr5_data/C++/opencv/opencv-4.5.0' \
--extra_modules_path '/dfsdata2/liuwr5_data/C++/opencv/opencv_contrib/modules'
1)注意 config中要求的ndk与sdk版本:ndk-18-api-level-21.config API 21 安装ndk-r22b sdk-r25.2.3
2)download the Android SDK without Android Studio bundled:https://guides.codepath.com/android/installing-android-sdk-tools#installing-the-android-sdk-via-homebrew
sdkmanager 命令行 安装 platforms build-tools platforms-tools
3)手动安装最新版cmake
sudo apt-get install ccache ninju-build
4)设置环境变量
export ANDROID_SDK=/dfsdata2/liuwr5_data/C++/opencv/android-sdk-r25
export PATH=$PATH:$ANDROID_SDK/tools
export ANDROID_NDK=/dfsdata2/liuwr5_data/C++/opencv/android-ndk-r22b
成功!
四、其他网址收藏
Android Studio 中集成Opencv环境(包含opencv_contrib部分): https://www.cnblogs.com/fx-blog/p/8206737.html
Android Studio 2.2 中利用CAMKE进行OpenCV的NDK开发: https://www.cnblogs.com/fx-blog/p/8215331.html
Windows编译 : https://blog.csdn.net/ezhchai/article/details/80557936
Linux编译 : https://blog.csdn.net/wilson1068/article/details/88768865
报错:
[ 72%] Building CXX object modules/xfeatures2d/CMakeFiles/opencv_xfeatures2d.dir/src/boostdesc.cpp.o
/dfsdata2/liuwr5_data/C++/opencv_android/opencv_contrib-4.5.0/modules/xfeatures2d/src/boostdesc.cpp:654:37:fatal error: boostdesc_bgm.i: No such file or directory
compilation terminated.
modules/xfeatures2d/CMakeFiles/opencv_xfeatures2d.dir/build.make:571: recipe for target 'modules/xfeatures2d/CMakeFiles/opencv_xfeatures2d.dir/src/boostdesc.cpp.o' failed
make[2]: *** [modules/xfeatures2d/CMakeFiles/opencv_xfeatures2d.dir/src/boostdesc.cpp.o] Error 1
CMakeFiles/Makefile2:5970: recipe for target 'modules/xfeatures2d/CMakeFiles/opencv_xfeatures2d.dir/all' failed
make[1]: *** [modules/xfeatures2d/CMakeFiles/opencv_xfeatures2d.dir/all] Error 2
Makefile:149: recipe for target 'all' failed
make: *** [all] Error 2
https://blog.csdn.net/u011736771/article/details/85960300/
五、上述仅生成.so动态库, 没有 jar 任然不能import org.tracking
BUILD_SHARED_LIBS=OFF 失败
windows环境下
https://blog.csdn.net/netscaner/article/details/98179840
https://blog.csdn.net/u011658663/article/details/103015080
import module后 用Android Studio Gradle>build> 将module打包成aar,解压 取release的classes.jar
再手动导入so 成功