在 Android 中使用 OpenCV 的问题

Drk*_*Str 0 android opencv kotlin

我使用A Beginner's Guide to Setting up OpenCV Android Library on Android Studio作为在 Android Studio 项目中设置 OpenCV 的指南。我有项目要在我的手机上构建和安装,但我没有从相机获取视频(这JavaCameraView是空的)。

主要问题似乎是 OpenCV 管理器已从 Google Play 商店中撤出。:,(

我已经尝试过this SO question中的解决方案来尝试使用opencv而无需将其从Play商店中取出,但这也无济于事。

我拥有在我的应用程序上使用相机所需的所有权限。

我的代码与初学者指南教程中的代码非常相似,但如果您需要查看我的更多代码,请告诉我。

我的简历:

public override fun onResume() {
    super.onResume()
    if (!OpenCVLoader.initDebug()) {
        OpenCVLoader.initDebug()
    }
    loaderCallback.onManagerConnected(LoaderCallbackInterface.SUCCESS)
}
Run Code Online (Sandbox Code Playgroud)

基本负载回调:

private val loaderCallback = object : BaseLoaderCallback(this) {
    override fun onManagerConnected(status: Int) {
        when (status) {
            LoaderCallbackInterface.SUCCESS -> {
                Log.i(TAG, "OpenCV loaded successfully")
                opencv_camera_view.enableView()
                opencv_camera_view.setOnTouchListener(this@MainActivity)
            }
            else -> {
                super.onManagerConnected(status)
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

Drk*_*Str 7

这些是对我有用的步骤。

  1. 转到 OpenCV 版本页面,然后单击当前版本部分的 Android 包链接 ( https://opencv.org/releases.html )。我用了 4.1.1
  2. 解压名为 opencv--android-sdk 的文件
  3. 在 Android Studio 中,转到 File > New > Import Module... 并选择 /sdk 并等待同步完成。
  4. 包括 open-cv 作为模块依赖项。文件 -> 项目结构。
  5. 选择项目模块(不是我们在步骤3中添加的open-cv模块)
  6. 将 opencv 添加为模块依赖项。
  7. 检查 build.gradle 文件是否已添加为依赖项。
  8. 清理并构建项目。

笔记

  • 不要像大多数教程建议的那样导入 /sdk/java 。
  • 您不必像大多数教程建议的那样将本机库复制到您的项目中。

导入 OpenCV 后,使用教程获取预览以填充预览窗口。

然后使用这个版本的JavaCamera2View。JavaCamera2View 使用 camera2 api。

这些是对我有用的步骤,如果我做错了什么,很高兴得到纠正。

祝你好运 :)