【问题标题】:Difference between writing OpenCV for Android(Mobile devices) and writing openCV for Desktop Application(OpenCV 2.4.3 usingC++)为 Android(移动设备)编写 OpenCV 和为桌面应用程序编写 openCV(使用 C++ 的 OpenCV 2.4.3)之间的区别
【发布时间】:2013-04-14 00:44:41
【问题描述】:

我正在做面部检测和识别项目。我即将完成进行检测和识别的应用程序。我想让这个应用程序像在移动设备上工作的应用程序一样便携。我是在 Android 上使用 OpenCV 编写代码的新手。 Android 手机的 OpenCV 代码和使用 C++ 在 Visual Studio 上(如 VS 2010 和 Open CV 2.4.3)为桌面应用程序编写的 OpenCV 有什么区别?(Android 上的 OpenCV 和 OpenCV 之间的代码有什么区别对于 Desktop。它们都使用相同的语言吗?) 我熟悉 Android(基础)并且确实 Android 应用程序是用 Java 编写的。我在网上某处读到 OpenCV 原生代码可以通过 Java Native Interface 包含到 Android 中。 我在这里有点困惑,我可以使用我使用 C++ Open CV 为我的 Android 应用程序编写的代码而无需修改。如果不是,我必须对我的面部检测和识别使用 C++ 进行哪些修改桌面使其适用于 Android 手机?

【问题讨论】:

  • 是的...你可以使用 ndk 来使用它,opencv 对此提供了很好的文档

标签: android opencv image-processing java-native-interface


【解决方案1】:

首先,有一个OpenCV4Android 版本的Android,带有如何使用它的教程。

然后,正如您所指出的,您可以在 Android 上使用 Java 或 C++ 编写代码。 OpenCV4Android 可用于 Java [1] 或 C++ [2]。在您的情况下,使用 Android 的 Native Development Kit 重用您的 C++ 代码可能会更方便。如果您设法使用 NDK,您将能够通过从 Android 应用调用它来重用您的 C++ 代码。

以下是我建议您遵循的几个步骤:

我希望它会有所帮助。

【讨论】:

    【解决方案2】:

    我在 Android 上使用了 Java 和 C++ 的 OpenCV。根据我的经验,我可以建议使用原生 C++ 代码 进行图像处理应用程序。与 Java 代码相比,C++ 代码更高效并且可以提供更相同的结果

    虽然OpenCV也有Java版本,但在后端,它是使用Native code来运行Java的。

    与 Java 代码相比,Native 代码中的执行速度将大大提高。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-10-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-19
      • 1970-01-01
      • 1970-01-01
      • 2020-03-20
      相关资源
      最近更新 更多