欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Android Studio配置OpenCV

程序员文章站 2022-04-17 09:02:09
Android Studio导入OpenCV1、准备环境安装好Android Studio软件下载好opencv-4.3.0-android-sdk.zip2、新建工程双击打开Android Studio点击红色方框创建新工程选择Empty Activity创建Name自己定,下面两项会自动同步language选择Java如图所示为创建完成状态。3、导入opencv首先将之前准备的opencv解压出来并且记住目录,我的目录为D盘在Android Studio中点击File-&...

Android Studio导入OpenCV

1、准备环境

安装好Android Studio软件

下载好opencv-4.3.0-android-sdk.zip

2、新建工程

双击打开Android Studio点击红色方框创建新工程

Android Studio配置OpenCV

选择Empty Activity创建

Android Studio配置OpenCV

Name自己定,下面两项会自动同步language选择Java

Android Studio配置OpenCV

如图所示为创建完成状态。

Android Studio配置OpenCV

3、导入opencv

首先将之前准备的opencv解压出来并且记住目录,我的目录为D盘

Android Studio配置OpenCV

在Android Studio中点击File->Import Module…

Android Studio配置OpenCV

选择opencv软件支持包,(该目录为之前opencv解压文件位置下)

Android Studio配置OpenCV

完成之后你会发现工程里多了SDK如图所示。

Android Studio配置OpenCV

然后在Android Studio中点击File->Project Structure… 按以下操作添加sdk

Android Studio配置OpenCV

Android Studio配置OpenCV

Android Studio配置OpenCV

添加完成后,再修改build.gradle,将sdk的minSdkVersion和targetSdkVersion设置和app中的一样

Android Studio配置OpenCV

最后把opencv-4.3.0-android-sdk文件夹下的libs文件夹拷贝到自己的安卓项目下D:\OpenCvText\app\src\main,并且将libs改名为jniLibs

Android Studio配置OpenCV

Android Studio配置OpenCV

往drawable文件夹中加入一张lena.jpg图片

Android Studio配置OpenCV

activity_main.xml文件改成如下所示

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/process_btn"
        android:text="灰度"/>

    <ImageView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:scaleType="fitCenter"
        android:id="@+id/sample_img"
        android:src="@drawable/lena"
        android:layout_centerInParent="true"/>


</RelativeLayout>

MainActivity.java文件改成如下所示

public class MainActivity extends AppCompatActivity implements  View.OnClickListener{

    private  Button processBtn;

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

        iniLoadOpenCV();
        processBtn = (Button)this.findViewById(R.id.process_btn);
        processBtn.setOnClickListener(this);



    }

    @Override
    public void onClick(View v) {
        Mat src = new Mat();
        Mat dst = new Mat();
        Bitmap bitmap = BitmapFactory.decodeResource(this.getResources(),R.drawable.lena);
        ImageView iv = (ImageView)this.findViewById(R.id.sample_img);
        src = new Mat(bitmap.getHeight(), bitmap.getWidth(), CvType.CV_8UC(3));
        Utils.bitmapToMat(bitmap,src);

        if(processBtn.getText().equals("灰度"))
        {
            Imgproc.cvtColor(src,dst,Imgproc.COLOR_BGR2GRAY);
            Utils.matToBitmap(dst,bitmap);

            iv.setImageBitmap(bitmap);
            processBtn.setText("正常");
        }
        else
        {
            iv.setImageBitmap(bitmap);
            processBtn.setText("灰度");
        }

        //释放内存
        src.release();
        dst.release();

    }

    //初始化
    private void iniLoadOpenCV(){
        boolean success=OpenCVLoader.initDebug();
        if(success){
            //Log.i(CV_TAG,"OpenCV Libraries loaded...");
        }
        else{
            Toast.makeText(this.getApplicationContext(),"WARNING:Could not load OpenCV Libraries!",Toast.LENGTH_LONG).show();
        }

    }

}

运行如下图所示,点击灰度按钮,图片灰度化处理并显示,按钮文字变成“正常”,再次点击,显示原图,按钮文字显示“灰度”

Android Studio配置OpenCV

Android Studio配置OpenCV

本文地址:https://blog.csdn.net/qq_39261042/article/details/109612179