Android studio中配置opencv,不需要opencv manager,手机上直接运行,亲测有效

一:在Android studio中配置opencv简介:
opencv是一款功能强大的图像处理工具,其支持多个平台的图像处理应用,如Windows,MAC,Android等,当然使用最多的还是PC端的开发,配置在VS2019中使用,方便快捷。笔者因为最近接触到一个项目,需要将PC端的工程移植到Android手机平台来实现,所以开始尝试在手机端进行图像处理的开发工作,之后会把进度和遇到的问题慢慢更新出来。

二:软件工具介绍:
1:Android studio3.6版本,我用的是目前最新的版本,遇到的问题也是最多的,下面会一一讲述
2:AndroidSDK
3:OpenCV-android-sdk

三:配置步骤:
1:安装好Android studio,这一步不会的可以去参考其他大佬的配置方法,正常安装即可。现在的Android studio比较人性化了,自身集成了java的jdk,不需要单独去配置java环境,一般来说,内置的jdk就已经够用了。
2:下载opencv for Android版,这个可以在官网下载,下载最新的版本就可以,下载下来后进行解压。
下载地址:链接:https://pan.baidu.com/s/1ciZGQjA3lUtCTIyHGdopBw
提取码:wo97
复制这段内容后打开百度网盘手机App,操作更方便哦
下载后解压出来的文件目录:我的是解压到:H:\AndroidProgram\OpenCV-android-sdk
在这里插入图片描述
3:打开Android studio,新建一个Android工程,
1)新建项目(名字随便取)

2)SDK版本 选择 API 29,Android系统向下兼容的,选最新的就可以

3)选择Empty Activity,等待新建完毕。

建成后依次点击
File–>New–>Import Module

1)选择H:\AndroidProgram\OpenCV-android-sdk\sdk\java

2)Module name: Android studio会自动填充这项为openCVLibrary343 (不同版本对应的数字也不一样),不用管它.

3)点击下一步,会出现三个复选框,都选上,点击Finish
在这里插入图片描述

4:上一步结束后,opencv包文件就倒入Android studio中了,接下来开始配置到项目中,依次点击:

1)File–>Project Structure

2)左边Dependencies栏下选择app

3)在右边挨着的上面一栏中可以看到+号

4)点击右边栏中的“+”,选择第三个Module Dependency

5)里面应该是对应的opencv的包文件,点击ok退出,然后再点击ok退出

::5:上面一步完成之后,开始对项目的配置文件进行修改,这一步很重要,版本号有一个地方没对准就会编译出错。

1)将视图切换到Android,如图所示
在这里插入图片描述

2)可以看到Gradle Scripts目录下,有三个build.gradle文件,我们需要对app的build.gradle和opencv的build.gradle文件进行版本号的修改,分别记下app的build.gradle文件中的

compileSdkVersion

buildToolsVersion

minSdkVersion

targetSdkVersion

后面的数值

3)点击打开opencv的build.gradle文件,把文件中对应的

compileSdkVersion

buildToolsVersion

minSdkVersion

targetSdkVersion

后的数值改成app中一样的

这是app的build.gradle文件在这里插入图片描述
这是修改完成后opencv的build.gradle文件
在这里插入图片描述
6:上一步完成后,opencv在Android中的配置就基本完成了,这个时候先点击一下Build-Make project,构建一下项目,看下会不会报错,只要版本号修改的一样,应该不会报错了。注意这里有可能会报一个最小版本大于虚拟机版本的错误,只需要把minSdkVersion的数字改成你目前Android studio中创建的虚拟机的版本即可。
接下来我们要做的是一个很重要的步骤,就是把opencv的包文件添加到项目中,这样程序在手机上跑的时候就不需要opencv manager这个安装文件了。集成完成后,我们生成的APK安装包大小会有70M左右,当然这也是为了方便用户下载安装软件。总不能每一次安装APP,都要单独再下载安装一个opencv manager吧,这样的APP用户体验极差。
具体步骤:
1)把OpenCV sdk for Android文件下H:\AndroidProgram\OpenCV-android-sdk\sdk\native下的libs文件夹拷贝到你的安卓项目下,即Opencvtest\app\src\main下面,并且将libs改名为jniLibs
在这里插入图片描述
在这里插入图片描述

2)再次回到Android studio,点击Build-Make project,等待项目构建完成,如果没有报错,就证明opencv已经配置好了,接下来可以进行开发工作了。

最后在这里补充一个知识点,很多人在按照如上配置之后,跑opencv的程序会提示没有安装opencv manager,这个问题其实是因为老版的opencv中的onResume()函数没有成功调用集成进去的opencv包文件,我们只要修改一下即可:

老版的opencv程序中是这样写的:

@Override
    public void onResume()
    {
        super.onResume();
        OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_2_4_9, this, mLoaderCallback);
    }

我们需要改成这样,直接赋值我这一段进去即可:

@Override
    //想要opencv不依赖opencvmanager,关键就在这里,除了基本的把文件复制到项目中外,
    // onResume函数必须写成以下形式,这样才能调用到复制过来的包文件
    public void onResume()
    {
        super.onResume();
        if (!OpenCVLoader.initDebug()) {
            Log.d(TAG, "Internal OpenCV library not found. Using OpenCV Manager for initialization");
            OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_3_0_0, this, mLoaderCallback);
        } else {
            Log.d(TAG, "OpenCV library found inside package. Using it!");
            mLoaderCallback.onManagerConnected(LoaderCallbackInterface.SUCCESS);
        }
        //super.onResume();
        //OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_2_4_9, this, mLoaderCallback);
    }

下一篇文章我将讲述一下使用摄像头进行实时图像处理(灰度化,轮廓检测,滤波处理,HSV空间处理等),网上对于Android平台进行opencv开发多数都是对图片进行处理,对实时图像处理的文章少之又少,希望可以帮到更多初步踏入这个领域的朋友。

  • 6
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
要在Android Studio导入OpenCV 2022,你可以按照以下步骤进行操作: 1. 首先,下载OpenCV 2022的安装包,你可以从官方网站下载。安装包是一个zip格式的文件。 2. 下载完成后,解压缩安装包到一个英文目录下。 3. 打开Android Studio,并打开你的项目。 4. 在项目的根目录下找到build.gradle文件,双击打开。 5. 在build.gradle文件,找到dependencies部分。 6. 在dependencies部分,添加以下代码: ``` implementation project(':opencv') ``` 这将添加OpenCV库的依赖。 7. 在项目的根目录下创建一个名为opencv的文件夹。 8. 将解压缩后的OpenCV文件夹复制到opencv文件夹。 9. 在Android Studio,点击菜单栏的File -> Sync Project with Gradle Files,以同步项目。 10. 现在你可以在你的项目使用OpenCV API了。 请注意,以上步骤是基于OpenCV 2022和Android Studio的最新版本。具体步骤和界面可能会因版本不同而有所变化。确保你下载的是最新版本的OpenCV,并根据实际情况进行相应的调整。 #### 引用[.reference_title] - *1* *2* [【OpenCV for AndroidAndroid Studio集成OpenCV](https://blog.csdn.net/diejingbu1567/article/details/102014327)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Android Studio BumBleBee导入OpenCV-2022-03-28](https://blog.csdn.net/qq_43631827/article/details/123803964)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值