標籤:Face Service width uil 技術 idm enc ports 資料 img
這是本人第一篇部落格,寫部落格並不是說本人的技術能力有多強,或者說炫耀自己取得的進展。在當今這個資料資訊大爆炸的年代,每個人肯定會接受很多新鮮事物,但不是所有東西你都能記得一清二楚,寫部落格一方面是為了鞏固加深自己的學習;另一方面,一直在各部落格上學習他們的思路和方法,自己也想加入這個集體裡面,為別人提供一些協助。
言歸正傳,最近接到了一個Face Service移動平台搭建的任務,大體任務是:影像處理過程全部用C++處理,之後將處理的結果用JNI的方式傳給手機端顯示出處理過後結果。
在網上大約按自己的思路搜了下解決方案,Opencv有個Android版本,可以導進Eclipse 和AS裡面,用於手機端的影像處理識別,完美符合項目要求。
opencv-androd 的:https://opencv.org/releases.html 下載完之後解壓到一個不含中文的目錄下
在安裝上面,出現了大約兩種思路:
1)手動設定JNI,配置mk檔案
2)用最新的AS裡面內建的C++選項進行添加
(PS:這裡出現了兩種思路,仁者見仁智者見智,如果十分清楚JNI,可以下載最新版本的AS裡面內建c++選項,省掉了很多繁瑣步驟;如果對JNI不是很熟悉,可以先手動設定一次JNI,加深自己對知識的理解)
本文主要以第二種方法為主,第一種方法網上有一大把,可以參考他們的部落格 這是我的下載的版本號碼:Android studio 版本為3.1.2 opencv-Android為3.4.1
step1:
step2:
之後一路next 直到step3:
之後建立成功後,可以看下app下面有一個cpp 和java 檔案夾,直接運行就可以看到,“hello world from C++”證明自己一開始建立的環境沒錯,如果中間有報錯,提示缺少XXX外掛程式之類的,按照log裡面的提示下載安裝即可。
之後 點擊 File》Setting》Android SDK》SDK tools 有缺少的點擊下載即可。
之後我們添加Opencv341到我們的Android Studio 裡面,點擊File》New》import modul 選擇下載的opencv-Android的java檔案夾
之後不要做任何修改一直next,成功後會看到添加了另一個檔案夾openCVLibrary341,證明添加成功
之後點擊File》Project Structure,順序點擊
添加 點擊finish。
這時就可以在MainActivity裡面匯入opencv
這時,將 (Modul:opencvLibrary341) compileSdkVersion minSdkVersion targetSdkVersion全部改成和(Modul:app)下的保持一致後,點擊編輯欄右上方的
切換到project選項
在app/src/main檔案夾下建立一個目錄為JniLibs 將下載的opencv-Android-sdk 下的OpenCV-android-sdk\sdk\native\libs 下的所有內容,拷貝到該目錄裡面。
在AndroidManifest.xml檔案添加如下代碼
<uses-permission android:name="android.permission.CAMERA"/>
<uses-feature android:name="android.hardware.camera" android:required="false"/>
<uses-feature android:name="android.hardware.camera.autofocus" android:required="false"/>
<uses-feature android:name="android.hardware.camera.front" android:required="false"/>
<uses-feature android:name="android.hardware.camera.front.autofocus" android:required="false"/>
<supports-screens android:resizeable="true"
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:anyDensity="true" />
點擊app下的Cmake檔案,修改cmake檔案內容如下
set(pathOPENCV D:/software/OpenCV-android-sdk) set(pathPROJECT D:/codezoom/UseOpenCvwithCmake) 一定要以自己安裝檔案為主
點擊 Build》Rebuild 查看配置的有什麼問題,(出錯後我認為一定要檢查兩點 1.複製win10下的目錄要把 \ 改成 / 否則找不到檔案 2.仔細查看目錄是否正確)
這時我們點擊cpp下的檔案,發現我們可以添加opencv的標頭檔了
大功告成!!!!!!!!!!!!!
參考部落格:http://webnautes.tistory.com/1054 (可能需要FQ)
Opencv-Android安裝使用