从运行时的角度看JavaCV与OpenCV

从运行时的角度看JavaCV与OpenCV,java,android,opencv,runtime,javacv,Java,Android,Opencv,Runtime,Javacv,我正在构建一个包含图像处理技术的Android应用程序。从运行时的角度来看,JavaCV和OpenCV哪个更好?使用Android NDK编写本机代码通常比使用SDK快得多。 您可以找到很好的教程,使用opencv和NDK。请注意,使用NDK框架,您可以访问openGL函数。JavaCV只是本地OpenCV库的Java包装器。OpenCV确实提供了Java/SWIG绑定。我已经使用了这两种绑定,但没有发现它们之间有显著的区别 如果您编写的是纯本机应用程序,请使用本机OpenCV。它们的运行时开销

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

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

JavaCV只是本地OpenCV库的Java包装器。OpenCV确实提供了Java/SWIG绑定。我已经使用了这两种绑定,但没有发现它们之间有显著的区别


如果您编写的是纯本机应用程序,请使用本机OpenCV。

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

编辑:另一个区别是android opencv强制用户使用NDK和JNI编写函数。由于JavaCV基于,因此我们可以更轻松地编写本机函数,而不必处理NDK和JNI