標籤

2016年8月23日 星期二

Android Studio OpenCV Library 環境設定

前言:
OpenCV 是 Computer Version的 Open 函式庫
有許多版本 今天要來實際Run Android OpenCV Libs的環境設定

作業系統: Mac
OpenCV版本:OpenCV2.4.11(for Android)



ㄧ. 首先到OpenCV官網下載OpenCV Android Library:
   
      這邊筆者是使用 OpenCV 2.4.11版本



二. 打開OpenCV library資料夾 ( OpenCV-android-sdk >> sdk>> java)

複製整個 java 資料夾

















三. 打開  Android Studio  新增一個專案:
接著  new 一個 Directory 並取名為 libs


























四. 將整個 OpenCV 裡面的 Java資料夾複製進 剛剛新增的
libs資料夾裡面,並且將Java改名為opencv






















五. 對opencv 資料夾 按右鍵 new  file 並命名為 build.gradle

step1 . new  file




























step 2. 命名為 build.gradle


















step 3 添加以下內容:
這邊需要注意  compille 版本與 你的Android Studio版本是否一致

快速複製區:

apply plugin: 'android-library'
buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.5.0'    }
}

android {
    compileSdkVersion 23    buildToolsVersion "23.0.3"
    defaultConfig {
        minSdkVersion 14        targetSdkVersion 23        versionCode 2411        versionName "2.4.11"    }

    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'            java.srcDirs = ['src']
            resources.srcDirs = ['src']
            res.srcDirs = ['res']
            aidl.srcDirs = ['src']
        }
    }
}


step 4. 在 settings.gradle 裡面 添加

include ':libs:opencv'



























六. 在  app  >> src >> main底下 新增一個 Directory ,並命名為 jniLibs



































七. 到 從openCV官網下載的  Android OpenCV SDK

sdk >> native >> libs 複製裡面的四個檔案
裡面是包含不同位元的.so檔案








並將其複製回 剛剛新增的 jniLibs資料夾裡面

















八 .點選 File >> Project Structure >>  app >> Dependencies(快結束了呦!!!)

按下 +   ,並選擇 Module dependency 並選擇 :libs:opencv

*在底下圖片中 已經將 該 module添加完了



以上步驟就是 在Android Studio 添加 Android OpenCV Libs 的步驟:
接著 我們實際測試看看:


九. 在MainActivity 底下添加 OpenCV 的函式庫

OpenCVLoader.initDebug()

public class MainActivity extends AppCompatActivity {



    static {
        if (OpenCVLoader.initDebug()){
            Log.v("Raymond  Test OpenCV", "Library init  Sucessed");        }else{
            Log.v("Raymond  Test OpenCV ","Library init Error");        }
    }





    @Override    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        startActivity(new Intent(MainActivity.this , Activity_MarkerLess.class));
    }




    
    






測試結果: