Android Studio使用OpenCV库
概要
在android添加OpenCV库,并运行自带色块识别例程
下载OpenCV包
https://opencv.org/releases/
下载opencv-4.9.0-android-sdk.zip并解压到一个目录(英文)
在Android Studio新建空工程
选择选择选择选择Empty Activity,最小版本选择Android5.0
导入OpenCV库,选择sdk路径
如果添加后提示kotlin-android错误,删掉build.gradle中的该句即可,修改compileSdkVersion,minSdkVersion,targetSdkVersion三个属性和工程保持一致
添加module依赖
在菜单file-》Project Structure窗口选择dependencies,选择sdk
测试加载OpenCV库
在activity的onCreate()调用
private void loadOpenCV() {
boolean success = OpenCVLoader.initDebug(); //对OpenCV库进行初始化加载,bool返回值可以判断是否加载成功。
if (success) {
Toast.makeText(this.getApplicationContext(), "OpenCV库加载成功", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(this.getApplicationContext(), "OpenCV库加载失败", Toast.LENGTH_SHORT).show();
}
}
测试自带samples
将color-blob-detection下ColorBlobDetectionActivity.java和ColorBlobDetector.java拷贝到工程src下,修改activity的layout
MainActivity的完整代码如下:
package com.gaoda.cameracv;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AlertDialog;
import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat;
import android.Manifest;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.os.Bundle;
import android.provider.Settings;
import android.util.Log;
import android.view.MotionEvent;
import android.view.SurfaceView;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.widget.Toast;
import org.opencv.android.Ca