您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關Android Studio如何集成OpenCV的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
我的環境:
Android Studio Arctic Fox + JDK11 + Gradle 7.0.2 + NDK21 + opencv-4.5.1-android-sdk
代碼鏈接:
OpenCV 環境搭建 Demo
1.創建一個Native工程
2.下載OpenCV SDK
OpenCV SDK
3.在Android Studio的cpp目錄下新建libs文件夾
將我們下載的OpenCV SDK 這個文件夾“OpenCV-android-sdk\sdk\native\libs” 下的 armeabi-v7a 整個復制到剛才的 libs 文件夾下
4.將 “OpenCV-android-sdk\sdk\native\jni” 路徑下的 include 文件夾整個復制到 cpp 文件夾下
5.配置build.gradle
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( myopencv opencv_java4 #鏈接libopencv_java4.so,這樣在生成的APK中才會有這個so ${log-lib})
7.點擊build,發現生成的apk中有我們引入的庫
接下來就是運行時會報錯
Java.lang.UnsatisfiedLinkError: dlopen failed: library "libc++_shared.so" not found
原因是在 NDK18 以前采用的是 gcc 編譯,NDK18 以后采用的是 clang ,而且 NDK18 以后沒有 libc++_shared.so 這個庫了,所以在運行時會報錯。
解決辦法:
在build.gradle中增加一句
arguments '-DANDROID_STL=c++_shared'
這樣可以遠程獲取到 libc++_shared.so 這個庫
重新編譯后發現 apk 中有了 libc++_shared.so ,而且 apk 可以正常運行
感謝各位的閱讀!關于“Android Studio如何集成OpenCV”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。