OpenCV for Android(1):在Android Studio中安裝OpenCV3.4.1

00.jpg

最近在學(xué)習(xí)視覺算法的時(shí)候,想著如果利用手機(jī)的攝像頭做一些實(shí)時(shí)的圖像處理也是很方便的,生活中也有些場(chǎng)景可以做一些好玩的應(yīng)用,于是就開始在android上搭建OpenCV環(huán)境。參考了一些網(wǎng)上的帖子,有些比較久遠(yuǎn)了,像Android Studio的版本,目前已經(jīng)更新到3.0.1了,各方面都完善了很多,而OpenCV也發(fā)展到3.4.1版了,所以一些比較有年代的帖子介紹的方法不一定適用于今天,我研究了好些個(gè)帖子,最終順利搭建好了,所以趁著記憶還熱乎把這個(gè)過程記錄一下,以備以后再要裝的時(shí)候參考。

下載

1.首先,安裝Android Studio,我安裝的是目前最新的Android Studio3.0.1版本,完全參考了一篇網(wǎng)上的教程,一步步照著做下來,沒有問題。

2.下載OpenCV sdk for Android,我是在官網(wǎng)下的OpenCV3.4.1最新版,解壓(我的解壓路徑是D:\AndroidSDK\OpenCV-android-sdk)

3.新建項(xiàng)目,F(xiàn)ile-New-New Project,取個(gè)名字

01.jpg

點(diǎn)下一步,


02.jpg

Minimum SDK 選擇 API 19:Android 4.4 (KitKat),再點(diǎn)“Next”

選擇Empty Activity,直到“Finish”

導(dǎo)入OpenCV

Android Studio菜單-->File-->New-->Import Module

選擇D:\AndroidSDK\OpenCV-android-sdk\sdk\java

Module name: Android studio會(huì)自動(dòng)填充這項(xiàng)為openCVLibrary341 ,不用自己改,如下圖:

03.jpg

點(diǎn)“Next”,下一步,默認(rèn)的三個(gè)全勾上

04.jpg

1)File-->Project Structure

2)左邊Modules欄下選擇app

3)在右邊上面一欄中選擇Dependencies

4)點(diǎn)擊右邊欄中的“+”,選擇第三個(gè)Module Dependency

05.jpg

06.jpg

5)點(diǎn)擊ok退出,然后再點(diǎn)擊ok退出

1)將視圖由Android切換到Project,如圖所示

2)點(diǎn)擊app,打開app根目錄下的build.gradle文件,注意
compileSdkVersion,
buildToolsVersion,
minSdkVersion,
targetSdkVersion
后面的數(shù)值


07.jpg

3)點(diǎn)擊openCVLibrary341,打開根目錄下的build.gradle文件,把文件中

compileSdkVersion,
buildToolsVersion,
minSdkVersion,
targetSdkVersion,
后的數(shù)值改成和上一步app中一樣的

08.jpg

1)把OpenCV sdk for Android文件下D:\AndroidSDK\OpenCV-android-sdk\sdk\native下的libs文件夾拷貝到自己的安卓項(xiàng)目下,我的是TestOpencvAd\app\src\main下面,并且將libs改名為jniLibs.

2)此時(shí)前期準(zhǔn)備工作就完成了,可以開始自己寫代碼了。

測(cè)試

可以用opencv中的sample程序測(cè)試下

  1. 將OpenCV-android-sdk\samples\image-manipulations\src\org\opencv\samples\imagemanipulations中的ImageManipulationsActivity.java文件,拷貝到自己的安卓項(xiàng)目TestOpencvAd\app\src\main\java\com\xiaoma\opencvtest下,打開原來的MainActivity.java文件,看第一行的包名,我的是

     package scr.testopencvad;
    

    把這一行拷貝,用來替換掉ImageManipulationsActivity.java文件中的package一行。然后可以刪掉MainActivity.java文件

  2. 將OpenCV-android-sdk\samples\image-manipulations\res中的三個(gè)文件(如圖所示),拷貝到你的安卓項(xiàng)目TestOpencvAd\app\src\main\res下(與目錄下的同名的三個(gè)文件合并)

  3. 將OpenCV-android-sdk\samples\image-manipulations中的AndroidManifest.xml文件,拷貝到你的安卓項(xiàng)目TestOpencvAd\app\src\main下替換

  4. 打開AndroidManifest.xml,

  • 改包名,找到第三行的package,改為package="scr.testopencvad"

  • 找到”android:theme”行,修改為

android:theme="@android:style/Theme.Holo.Light.DarkActionBar"
11.jpg
  • 將uses-sdk android:minSdkVersion的值改成之前記下的版本號(hào)的值,

因?yàn)樵娴氖莊ullscreen狀態(tài),導(dǎo)致打開后看不見菜單,這么改了以后就沒問題了。

10.jpg
  1. build apk

  2. 假如手機(jī)運(yùn)行時(shí)彈出

“It seems that you device does not support camera(or it is locked).Application will be closed.”

這時(shí)候打開手機(jī)的應(yīng)用權(quán)限管理,允許這個(gè)程序的訪問相機(jī)就好了。

12.jpg

接下來就可以在這個(gè)基礎(chǔ)上繼續(xù)改進(jìn)算法,研究更好玩的應(yīng)用了。

參考

https://jingyan.baidu.com/article/60ccbceb53533364cab197db.html

https://blog.csdn.net/u013125680/article/details/48736047

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容