GettingSignals

OpenCV3.xをAndroidStudioで動かす

2016年1月19日
Posted by hina

1.OpenCV 3.x のSDKを取得する

opencv_dl

 

2.サンプルプロジェクト作成。

3.以下のサイトを参考にSDKをプロジェクトに追加。

http://docs.opencv.org/3.0-beta/doc/tutorials/introduction/android_binary_package/dev_with_OCV_on_Android.html
[File]-[New]-[Import Module]で、「OpenCV-3.1.0-android-sdk\OpenCV-android-sdk\sdk\java」を選択。
opencv_import_as

4.以下のようなエラーが出たら、修正。

Error:Cause: failed to find target with hash string 'android-14' in: C:\Users\Hina\AppData\Local\Android\sdk1
<a href="openAndroidSdkManager">Open Android SDK Manager</a>

opencvプロジェクトのbuilde.gradle の compileSdkVersion をDownload済みのものを設定する

opencv_compile_err_as

5.OpenCVライブラリのインポート設定する

appプロジェクトのbuild.gradle に compile project(‘:opencv’) を追加する

dependencies {
    ・・・
    compile project(':opencv')
}

6.OpenCVのロード処理を追加


    private BaseLoaderCallback mLoaderCallback = new BaseLoaderCallback(this) {
        @Override
        public void onManagerConnected(int status) {
            switch (status) {
                case LoaderCallbackInterface.SUCCESS:
                {
                    Log.i(TAG, "OpenCV loaded successfully");
//                    mOpenCvCameraView.enableView();
                } break;
                default:
                {
                    super.onManagerConnected(status);
                } break;
            }
        }
    };

    @Override
    public void onResume()
    {
        super.onResume();
//        boolean ret = OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_3_1_0, this, mLoaderCallback);
        if (!OpenCVLoader.initDebug()) {
            Log.d(TAG, "Internal OpenCV library not found. Using OpenCV Manager for initialization");
            boolean ret = OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_3_1_0, this, mLoaderCallback);
            Log.d(TAG, "initAsync ret=" + ret);

        } else {
            Log.d(TAG, "OpenCV library found inside package. Using it!");
            mLoaderCallback.onManagerConnected(LoaderCallbackInterface.SUCCESS);
        }
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

 

6.任意のタイミングでOpenCVのメソッド読み出し。

 

//画像読み込み

Mat mat = Imgcodecs.imread(path);

 

 

Comments are currently closed.

Follow

カレンダー

2017年9月
« 10月    
 123
45678910
11121314151617
18192021222324
252627282930