Android:Android Studio導入OpenCV(Android項目)


在使用OpenCV之前,Android必須先下載ndk,因為OpenCV使用了native代碼,這里建議Android Studio創建C++項目來寫OpenCV的內容

1、首先在官網下載OpenCV第三方包

下載鏈接:https://opencv.org/releases/

2、查看下載后的文件目錄

 

 samples文件夾里面是一些樣例,sdk文件夾是我們需要的第三方包

 此時將整個sdk文件夾導入到項目中也是可以的,但是900M的文件夾會讓項目很龐大,所以我們要導入項目的是sdk包下的一個java包

3、在項目中導入第三方包

 

 

 

 點擊Next,然后點擊確認進行導包

將java代碼作為模塊導入之后,我們還得導入配置包,在sdk文件夾-->native文件夾-->libs文件夾里面的四個以os為后綴的文件

在OpenCV模塊下創建libs目錄,然后將四個文件復制進去。

這四個文件加起來有100M了,還是挺龐大的,這里我知道了自己手機需要的是哪一個文件夾,最后我只留下了第一個文件

 

4、修改項目配置

我們要修改OpenCV包下的  build.gradle  文件夾,讓里面的sdk版本與項目一致

 

將文件中的application改為 library,並且將applicationId刪掉,因為我們要做的是引用這個包 

 

 

 

然后在app目錄的build.gradle文件的依賴中導入OpenCV,括號里面是冒號和剛才導入模塊的命名

 

 我們將libs文件加入到項目中,還得讓編譯器知道,所以要修改app的build.gradle文件(如果libs放在opencv包里就修改opencv包里的文件),才能運行OpenCV

 

 

 5、在項目中使用OpenCV測試一下

 查看是否成功,如果是使用Android普通項目肯定是不成功的,運行后會報錯,因為少了一個運行OpenCV很重要的文件  libc++_shared.so

 

 

 

 

 

接下來我們通過C++項目(普通的Android項目沒有)自動創建這個文件

6、創建C++項目

 

這是一個全新的項目,需要導入OpenCV第三方包和修改build.gradle文件,也就是再做一遍上面的流程

c++項目的app目錄下帶有一個libs文件夾,所以將原來在opencv庫下libs文件夾的內容復制到app目錄下(libs包換位置后,記得修改app目錄的build.gradle文件),文件結構如下

 

 

 所以文件要加上這兩段,使用C++項目在build完了之后就會創建  libc++_shared.so 這個文件(clean之后會刪除)

 

8、完成

按理說這樣子我們的項目就可以運行了,也解決了沒有      libc++_shared.so  這個文件的問題

如果你不想使用C++項目,在這個C++項目的文件里面已經創建了一個  libc++_shared.so文件,去把它復制到普通Android項目的opencv包的libs目錄對應的文件夾就可以了

復制的時候要找准對應版本的libc++_shared.so文件

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM