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.