Android Studio配置OpenCV

1、下载最新zip

https://sourceforge.net/projects/opencvlibrary/files/opencv-android/

解压

2、创建工程或使用已有的

3、File -> New -> Import Module…
选中sdk中的java

在这里插入图片描述
接下来的操作默认即可

4、若出现Gradle Sync Errors
进入OpenCV的module的build.gradle
把compileSdkVersion 和targetSdkVersion 改成和工程一样
buildToolsVersion 或可忽略

5、添加opencv依赖到工程File -> Project Structure
在这里插入图片描述
点击加号添加opencv

6、添加Native Libraries
复制如下libs到ProjectName/app/src/main
在这里插入图片描述
并改名为jniLibs
在这里插入图片描述

7、添加相机许可
打开AndroidManifest.xml,添加如下

    <uses-permission android:name="android.permission.CAMERA"/>

    <uses-feature android:name="android.hardware.camera" android:required="false"/>
    <uses-feature android:name="android.hardware.camera.autofocus" android:required="false"/>
    <uses-feature android:name="android.hardware.camera.front" android:required="false"/>
    <uses-feature android:name="android.hardware.camera.front.autofocus" android:required="false"/>

效果如下
在这里插入图片描述

8、检验是否安装成功
如下代码来自互联网非本人开发

修改MainActivity.java为如下

package opencvproject.com;

import java.util.List;

import org.opencv.android.BaseLoaderCallback;
import org.opencv.android.CameraBridgeViewBase.CvCameraViewFrame;
import org.opencv.android.LoaderCallbackInterface;
import org.opencv.android.OpenCVLoader;
import org.opencv.core.Core;
import org.opencv.core.CvType;
import org.opencv.core.Mat;
import org.opencv.core.MatOfPoint;
import org.opencv.core.Rect;
import org.opencv.core.Scalar;
import org.opencv.core.Size;
import org.opencv.android.CameraBridgeViewBase;
import org.opencv.android.CameraBridgeViewBase.CvCameraViewListener2;
import org.opencv.imgproc.Imgproc;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.MotionEvent;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.view.View.OnTouchListener;
import android.view.SurfaceView;

public class MainActivity extends Activity implements OnTouchListener, CvCameraViewListener2 {
   
   
    private static final String  TAG              = "MainActivity";

    private boolean              mIsColorSelected = false;
    private Mat                  mRgba;
    private Scalar               mBlobColorRgba;
    private Scalar               mBlobColorHsv;
    private ColorBlobDetector    mDetector;
    private Mat                  mSpectrum;
    private Size                 SPECTRUM_SIZE;
    private Scalar               CONTOUR_COLOR;

    private CameraBridgeViewBase mOpenCvCameraView;

    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();
                    mOpenCvCameraView.setOnTouchListener(MainActivity.this);
                } break;
                default:
                {
   
   
                    super.onManagerConnected(status);
                } break;
            }
        }
    };

    public MainActivity() {
   
   
        Log.i(TAG, "Instantiated new " + this.getClass()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值