使用 OpenCV 进行 Android 开发

打印 上一主题 下一主题

主题 817|帖子 817|积分 2451

在本节中,我们将创建一个简单的应用程序,它除了加载 OpenCV 之外什么都不做。在下一节中,我们将扩展它以支持相机。
除了这个阐明,你还可以使用一些视频指南,比方这个

  • 打开 Android Studio 并选择Empty Views Activity创建空项目


  • 设置项目:

    • 选择Java语言
    • 选择Groovy DSL构建配置语言
    • 选择Minumum SDK,版本号不低于 OpenCV 4 Android 构建期间使用的版本

      • 假如你不知道,你可以在OpenCV-android-sdk/sdk/build.gradle以下文件中找到它android -> defaultConfig -> minSdkVersion




  • 点击文件->新建->导入模块…,选择OpenCV SDK路径


  • 将模块名称设置为OpenCV并按Finish

OpenCV 还提供实验性的 Kotlin 支持。请将 Android Kotlin 插件添加到MyApplication/OpenCV/build.gradle文件:
  1. plugins {
  2.     id 'org.jetbrains.kotlin.android' version '1.7.10' #version may differ for your setup
  3. }
复制代码

假如不这样做,您可能会收到错误:
  1. Task failed with an exception.
  2. -----------
  3. * Where:
  4. Build file '/home/alexander/AndroidStudioProjects/MyApplication/opencv/build.gradle' line: 4
  5. * What went wrong:
  6. A problem occurred evaluating project ':opencv'.
  7. > Plugin with id 'kotlin-android' not found.
复制代码

  • 修复已在这里找到
  • OpenCV 项目使用此功能。请在要制止的文件buildConfig中启用它:MyApplication/OpenCV/build.gradleandroid
像这样:


  • 假如不这样做,您可能会收到错误:
               
    1. JavaCameraView.java:15: error: cannot find symbol import org.opencv.BuildConfig; ^ symbol: class BuildConfig location: package org.opencv
    复制代码
           修复程序已在此处和此处找到
  • 将模块添加到项目:

    • 单击文件 -> 项目结构... -> 依赖项 -> 所有模块 -> +(添加依赖项按钮)-> 模块依赖项




  • 选择app



  • 选择OpenCV

在使用任何 OpenCV 函数之前,您必须先加载库。假如您的应用程序包含其他依赖于 OpenCV 的本机库,则应在 OpenCV 初始化加载它们。添加以下代码以在应用程序启动时加载库:
  1.         if (OpenCVLoader.initLocal()) {
  2.             Log.i(TAG, "OpenCV loaded successfully");
  3.         } else {
  4.             Log.e(TAG, "OpenCV initialization failed!");
  5.             (Toast.makeText(this, "OpenCV initialization failed!", Toast.LENGTH_LONG)).show();
  6.             return;
  7.         }
复制代码


  • 选择一个装备来查抄样本,然后按下run按钮运行代码


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

张国伟

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表