OpenCV3.xをAndroidStudioで動かす
1.OpenCV 3.x のSDKを取得する
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」を選択。
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済みのものを設定する
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.