2

我正在构建一个包含图像处理技术的 Android 应用程序。从运行时的角度来看,JavaCV 和 OpenCV 哪个更好?

4

3 回答 3

5

它们的运行时开销似乎大致相同,但 android-opencv 包装器无法通过直接 NIO 缓冲区访问原始数据,从而使 Java 中的自定义处理效率大大降低。JavaCV 对于这些任务更有效。作为 JavaCV 的作者,我也更喜欢它的 API :) 它比 android-opencv 更接近原始的 C/C++ API。

编辑:另一个区别是 android-opencv 强制用户使用 NDK 和 JNI 来编写函数。由于 JavaCV 基于JavaCPP,我们可以更轻松地编写原生函数,而无需处理 NDK 和 JNI。

于 2012-03-12T12:26:18.440 回答
0

使用 Android NDK 编写本机代码通常比使用 SDK 快得多。你可以在这里找到很好的教程,使用带有 NDK 的 opencv。请注意,使用 NDK 框架,您可以访问 openGL 函数。

于 2012-02-27T16:38:13.150 回答
0

JavaCV 只是原生 OpenCV 库的一个 Java 包装器。OpenCV 确实提供了 Java/SWIG 绑定。我已经使用了这两种绑定,并且没有看到两者之间的显着差异。

如果您正在编写仅本地应用程序,请使用本地 OpenCV。

于 2012-02-27T16:57:54.683 回答