我刚刚开始学习适用于Android的OpenCV,我已经对其进行了一些尝试,并且一切正常。

我安装了NDK,并设法运行其中包含的一些示例应用程序。

我不清楚我们需要NDK做什么。我在文档的任何地方都找不到引用它。

是否有OpenCV功能在常规库2.4.8中不可用?

只是这样我们可以使用其他人提供的用c++编写的模块,而无需用Java重写它们吗?

最佳答案

我一直在为我的应用程序使用NDK,以下是我的
观察。

  • 是的,它提供了使用大量c++的优势
    可用的模块。
  • 如果您已经有
    使用openCV进行计算机视觉应用程序编程的经验
    C++中的库,您不必学习Java中的新语法(
    有时会很烦人。
  • 在您的应用程序中使用NDK可以使您在
    您进行图像处理时的性能是计算上的
    要求很高(对此我不太确定,因为openCV
    可用于Android的库只是围绕
    相同的头文件和内容,并且几乎应具有与NDK相同的性能。我从来没有真正比较过
    自己表现,但在各种博客中都读到NDK更快。
  • 一件事
    使用NDK是从JAVA调用到
    NDK方面或相反,这些调用在性能方面可能确实很昂贵(需要仔细计划)。
  • 从JAVA到NDK传递一些参数(例如MAT数组)有点
    头痛,但您几乎找不到解决方法。

  • 基于这些因素和其他因素,您可能已经从各种来源中找到了答案,并且还凭借您的编程优势,可以决定是否要使用NDK。我从来没有真正找到过一套指导方针,说只要可以满足条件就可以使用NDK,人们只是从他们更喜欢的编程风格开始。

    关于android - 我们什么时候需要适用于OpenCV Android的NDK,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20997161/

    10-13 01:13