Android Studio如何集成OpenCV(android studio,opencv,开发技术)

时间:2024-05-09 20:28:18 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

我的环境:

Android Studio Arctic Fox + JDK11 + Gradle 7.0.2 + NDK21 + opencv-4.5.1-android-sdk

代码链接:

OpenCV 环境搭建 Demo

Android Studio如何集成OpenCV

1.创建一个Native工程

2.下载OpenCV SDK

OpenCV SDK

Android Studio如何集成OpenCV

Android Studio如何集成OpenCV

3.在Android Studio的cpp目录下新建libs文件夹

Android Studio如何集成OpenCV

将我们下载的OpenCV SDK 这个文件夹“OpenCV-android-sdk\sdk\native\libs” 下的 armeabi-v7a 整个复制到刚才的 libs 文件夹下

Android Studio如何集成OpenCV

Android Studio如何集成OpenCV

4.将 “OpenCV-android-sdk\sdk\native\jni” 路径下的 include 文件夹整个复制到 cpp 文件夹下

Android Studio如何集成OpenCV

Android Studio如何集成OpenCV

5.配置build.gradle

Android Studio如何集成OpenCV

6.配置CMakelists.txt

#目的是为了让CMake找到我们的头文件在哪里,这里是在cpp/include这个文件夹下include_directories(include)#设置系统变量,目的是为了让CMake知道在哪个目录下找到我们的libopencv_java4.so这个库set(CMAKE_CXX_FLAGS"${CMAKE_CXX_FLAGS}-L${CMAKE_SOURCE_DIR}/libs/${ANDROID_ABI}")target_link_libraries(myopencvopencv_java4#链接libopencv_java4.so,这样在生成的APK中才会有这个so${log-lib})

Android Studio如何集成OpenCV

7.点击build,发现生成的apk中有我们引入的库

Android Studio如何集成OpenCV

接下来就是运行时会报错

Java.lang.UnsatisfiedLinkError: dlopen failed: library "libc++_shared.so" not found

Android Studio如何集成OpenCV

原因是在 NDK18 以前采用的是 gcc 编译,NDK18 以后采用的是 clang ,而且 NDK18 以后没有 libc++_shared.so 这个库了,所以在运行时会报错。

解决办法:

在build.gradle中增加一句

arguments'-DANDROID_STL=c++_shared'

这样可以远程获取到 libc++_shared.so 这个库

Android Studio如何集成OpenCV

重新编译后发现 apk 中有了 libc++_shared.so ,而且 apk 可以正常运行

Android Studio如何集成OpenCV

 </div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
本文:Android Studio如何集成OpenCV的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:MySQL的多版本并发控制MVCC实现方法是什么下一篇:

16 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18