Android+OpenCV4.2.0环境配置详解(Android studio)

仅是个人记录,希望能对有需要的给予一些小小的帮助

首先我们肯定是要去到OpenCV的官网下载对应的SDK,并解压得到文件夹(opencv-4.2.0-android-sdk

其次是NDK环境搭建(双击shift,输入sdk,找到sdk manager,将下面红色框框勾选安装)

创建项目,我选用的是(并不是只有这一选择)

导入Module
File->New->Import Module
路径选择**\opencv-4.2.0-android-sdk\OpenCV-android-sdk\sdk\java
然就一路finish

之后会得到两个gradle(一个是:app,另一个是Import Module时你自定义的名字)

Module:opencv的gradle修改成如下,compileSdkVersion和buildToolsVersion与你项目中app的gradle相同即可

apply plugin: 'com.android.library'

android {
  compileSdkVersion 29
  buildToolsVersion "29.0.2"

  buildTypes {
    release {
      minifyEnabled false
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
    }
  }
}

将解压的文件夹中的,**\opencv-4.2.0-android-sdk\OpenCV-android-sdk\sdk\native\libs路径下的文件夹全部拷贝至项目的libs文件夹下(切换成Project视图,app文件夹下)。

接着在app的gradle中添加该依赖implementation project(path: ':opencv'),以及再添加

sourceSets {
  main{
    jniLibs.srcDirs = ['libs']
  }
}

继续在app的gradle中的cmake的大括号里添加arguments "-DANDROID_STL=c++_shared",以避免出现dlopen failed: library “libc++_shared.so” not found的错误,以下是我build.gradle(Module:app)的全部内容

apply plugin: 'com.android.application'

android {
  compileSdkVersion 29
  buildToolsVersion "29.0.2"
  defaultConfig {
    applicationId "com.e.opencv_test"
    minSdkVersion 23
    targetSdkVersion 29
    versionCode 1
    versionName "1.0"
    testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    externalNativeBuild {
      cmake {
        cppFlags ""
        arguments "-DANDROID_STL=c++_shared"
      }
    }
  }
  buildTypes {
    release {
      minifyEnabled false
      proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
    }
  }
  externalNativeBuild {
    cmake {
      path "src/main/cpp/CMakeLists.txt"
      version "3.10.2"
    }
  }
  sourceSets {
    main{
      jniLibs.srcDirs = ['libs']
    }
  }
}

dependencies {
  implementation fileTree(dir: 'libs', include: ['*.jar'])
  implementation 'androidx.appcompat:appcompat:1.1.0'
  implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
  testImplementation 'junit:junit:4.13'
  androidTestImplementation 'androidx.test.ext:junit:1.1.1'
  androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
  implementation project(path: ':opencv')
}

在MainActivity中加载库System.loadLibrary("opencv_java4");(可以直接复制以下代码检测是否配置成功)

public class MainActivity extends AppCompatActivity {
  private static final String TAG = "MainActivity";

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

    System.loadLibrary("opencv_java4");
    iniLoadOpenCV();
  }

  private void iniLoadOpenCV() {
    boolean success = OpenCVLoader.initDebug();
    if (success) {
      Log.i(TAG, "成功");
    } else {
      Log.i(TAG, "失败");
      Toast.makeText(this.getApplicationContext(), "失败", Toast.LENGTH_LONG).show();
    }
  }
}

此配置方法可能过程繁琐,但是就是希望做到一次配置成功

这是第一次在CSDN写博客,仅仅是为个人记录,因为在此之前的配置踩了很多坑,同时也希望能帮到有需要的人。
如果有哪里写的不好,做的不好的,希望大家能在评论中多多指教。

该方法配置出来的环境可以使用OpenCV库里的函数,但是不能打开摄像头预览

到此这篇关于Android+OpenCV4.2.0环境配置详解(Android studio)的文章就介绍到这了,更多相关Android OpenCV4.2.0环境配置内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Android Studio中配置OpenCV库开发环境的教程

    1.下载 进入官网(http://opencv.org/)下载OpenCV4Android并解压.目录结构如下图所示. 其中,sdk目录即是我们开发opencv所需要的类库:samples目录中存放着若干opencv应用示例(包括人脸检测等),可为我们进行android下的opencv开发提供参考:doc目录为opencv类库的使用说明及api文档等:而apk目录则存放着对应于各内核版本的OpenCV_2.4.3.2_Manager_2.4应用安装包.此应用用来管理手机设备中的opencv类库,

  • Android Studio中使用jni进行opencv开发的环境配置方法

    使用jni进行opencv开发可以快速地将PC端的opencv代码移植到手机上,但是如何在android studio下进行配置,网上几乎找不到教程,大多都是eclipse下使用mk文件的方法,找不到使用gradle的方案,摸了几天,总算是摸清楚了. 其实找对了方法,用android studio配置环境要比eclipse简单很多,首先是预先准备的环境: 1.Android studio,官网最新版,我用的是2.3.1: 2.OpenCV4Android,官网最新版,我用的3.2.0: 就这两个

  • Android+OpenCV4.2.0环境配置详解(Android studio)

    仅是个人记录,希望能对有需要的给予一些小小的帮助 首先我们肯定是要去到OpenCV的官网下载对应的SDK,并解压得到文件夹(opencv-4.2.0-android-sdk) 其次是NDK环境搭建(双击shift,输入sdk,找到sdk manager,将下面红色框框勾选安装) 创建项目,我选用的是(并不是只有这一选择) 导入Module File->New->Import Module 路径选择**\opencv-4.2.0-android-sdk\OpenCV-android-sdk\sd

  • win10+VS2017+Cuda10.0环境配置详解

    一.安装 1.1硬件支持 首先确定你的电脑显卡是支持Cuda安装的. 右键"我的电脑",然后点击"设备管理器".在显示适配器里可以查看显卡型号. 如果包含在官网列表 中,则可以点击对应的型号到下载界面下载Cuda安装包. 1.2 安装VS2017 官网下载VS2017,并安装. 1.3 安装Cuda 在安装过程中,会自动检测本机是否已经安装了配套的VS版本其中之一,如果VS版本和Cuda版本不匹配的话,安装无法进行. ( 另外,如果电脑安装了360杀毒的话,安装过程

  • VS2019+Opencv4.0+Win10配置详解

    一.下载OpenCV4.0的安装文件: OpenCV官网 然后安装到你想要的地方 二.添加到Path里面: 并且把文件opencv_world400.dll和opencv_world400d.dll文件复制到   C:\Windows\SysWOW64这个文件夹: 三.配置Vs2019环境(OpenCV4.0只能用x64配置) 1.在把opencv的include添加到Include Directories和vc15\lib添加到Library Directories 2.在把opencv_wo

  • openCV4.1.1+VS2019环境配置详解

    1.VS2019安装 官网下载地址https://visualstudio.microsoft.com/zh-hans/?rr=https%3A%2F%2Fwww.microsoft.com%2Fzh-cn%2F 本地下载(附安装教程+激活码):https://www.jb51.net/softs/679895.html 2.openCV4.1.1安装 官网下载地址https://opencv.org/opencv-4-1-1/ 3.环境配置 右键此电脑,点击属性,找到高级系统设置. 点击环境变

  • 微信小程序Server端环境配置详解(SSL, Nginx HTTPS,TLS 1.2 升级)

    微信小程序Server环境配置详解 主要内容: 1. SSL免费证书申请步骤 2. Nginx HTTPS 配置 3. TLS 1.2 升级过程 微信小程序要求使用 https 发送请求,那么Web服务器就要配置成支持 https,需要先申请SSL证书 小程序也要求 TLS(传输层安全协议)的版本至少为 1.2,在配置好 https之后,如果 TLS 的版本较低,就涉及到升级问题 所以 Server端环境配置的主要步骤: 申请 SSL 证书 配置web服务器支持https(我使用的是nginx)

  • centos 6.5 oracle开机自启动的环境配置详解

    centos 6.5 oracle开机自启动的环境配置详解 环境:centos 6.5 + Oracle 11g 自启动之前问题 虚拟机里的oracle环境,每次重启完系统,用plsql developer连接,先是报错: 无TNS监听程序 解决方法是切换到系统的oracle用户,执行lsnrctl start,但是执行之前,因为ORACLE_HOME环境变量没有生效,还要是环境变量文件生效,步骤如下: [oracle@localhost ~]$ source .bash_profile [or

  • Mac M1 Java 开发环境配置详解

    JDK 配置 目前 Zulu JDK 支持 M1芯片,下载Zulu JDK 下载后点击安装,在控制台输入java -version ~ % java -version openjdk version "11.0.10" 2021-01-19 LTS OpenJDK Runtime Environment Zulu11.45+27-CA (build 11.0.10+9-LTS) OpenJDK 64-Bit Server VM Zulu11.45+27-CA (build 11.0.1

  • C++中opencv4.1.0环境配置的详细过程

    准备 Open CV 的文件 : https://opencv.org/releases/ 解压到哪里无所谓,我们后面会把需要的文件复制到 Solution 的目录里面.我本机解压到F:\opencv4.1.0 新建Open CV 的测试工程: 新建一空白的C++工程,设为opencv_test 工程设置为Debug的x64模式 右键单击工程->属性,打开配置的属性页 在VC++目录中添加包含目录: F:\opencv4.1.0\build\include;F:\opencv4.1.0\buil

  • Springboot内外部logback多环境配置详解

    目录 一.概述 二.项目内外配置 三.使用自定义appender 四.logback查找配置源码 五.案例源码 一.概述 SpringBoot官方文档Springboot 默认读取的是项目内的 resources 中 logback 配置文件.如果 classpath(resources) 下有logback-test.xml会优先生效,并且会和其他logback文件同时生效.Springboot 默认日志级别是DEBUG,所以在logback初始化之前,会有DEBUG日志输出. 二.项目内外配

  • SpringBoot-application.yml多环境配置详解

    介绍 开发SpringBoot应用的时候,通常程序需要在测试环境测试成功后才会上线到生产环境.而测试环境和生产环境的数据库地址.服务器端口等配置都不同.在为不同环境打jar包时,需要频繁的修改application.yml配置文件,十分麻烦.可以采用创建多个配置文件的方法解决这一问题. 为了实现多环境配置,我们可以在本地开发的时候在Resource文件夹下新建不同环境的配置文件,如下图所示: 默认配置文件application.yml文件可根据自己需求使用,最后会合并其他的application

随机推荐