JavaCV使用哪个Java API?org.bytedeco.opencv.opencv_core还是org.opencv.core?

angelcervera:

我正在用Java(实际上是Scala)玩OpenCV。我正在使用org.bytedeco包装器(opencpp和javacv),但是文档不是很好。

问题是,取决于示例,使用了两个不同的API:org.bytedeco.opencv.opencv_coreorg.opencv.core

org.bytedeco.opencv.opencv_core工作正常,但是org.opencv.core抛出java.lang.UnsatisfiedLinkError:

An exception or error caused a run to abort: no opencv_java410 in java.library.path 
java.lang.UnsatisfiedLinkError: no opencv_java410 in java.library.path

我完全迷路了:

  1. 为什么要使用两种不同的API?
  2. 使用哪一个?
  3. 为什么org.bytedeco.opencv.opencv_core工作org.opencv.core引发异常

提前致谢。

使用的库:“ org.bytedeco”%“ javacv-platform”%“ 1.5.1”导入所有平台的lib。

斯蒂芬·C:

我完全迷路了:

org.bytedeco.opencv.opencv_coreorg.opencv.core库是Java 库,允许被称为OpenCV的本地库。
Java库是从OpenCV库的C / C ++头文件生成的。例如,bytedeco.org网站表示其版本使用JavaCPP工具。

  1. 为什么要使用两种不同的API?

因为有两个小组决定这样做!显然,生成Java代码并不需要很多工作。

为什么两个小组决定做同一件事?通过。

使用哪一个?

提出建议的问题对于StackOverflow来说是不合时宜的,因此我不予赘述。

一个务实的答案是使用最适合您的解决方案,但您也可以尝试找出另一个解决方案。

您可能应该考虑要使用的OpenCV API的版本,以及是否可以从各自的供应商处获得该版本的桥库。

为什么org.opencv.coreorg.bytedeco.opencv.opencv_core工作时抛出异常

这两个版本的库都需要链接到OpenCV本机库。此链接org.opencv.core在您的执行平台上不起作用有两个可能的原因:

  1. 其中一个opencv库具有库的嵌入式副本,而另一个则没有。(查看相应的JAR文件中的内容,然后将它们与本问答中关于如何嵌入本机库的内容进行比较:如何在JAR内捆绑本机库和JNI库?

  2. 另外,两个JAR文件都不会嵌入本机库,但是您的执行已安装适当版本的库。失败的版本正在寻找名称为“ opencv_java410”的库。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

java.lang.NoClassDefFoundError:org / opencv / core / Core-Java Servlet + OpenCV

Java OpenCV-缺少org.opencv.core.Core矩形()方法

具有JavaCV的OpenCV或仅使用Java API的OpenCV

使用OpenCV找不到长期org.opencv.core.Mat.n_Mat()错误的实现

Tomcat找不到外部jar-java.lang.NoClassDefFoundError:org / opencv / core / Core

java.lang.UnsatisfiedLinkError:org.opencv.core.Mat.n_Mat(III)J?

java.lang.UnsatisfiedLinkError:org.opencv.core.Mat.n_Mat(IIILjava / nio / ByteBuffer;)J

软件包“ org.opencv.core.Mat”可以用于简单的Java程序吗?

在Java和JavaCV中使用OpenCV

java openCV Core.inRange输入参数

从org.bytedeco.javacv.Frame转换为Matlab图像

错误:不兼容的类型:org.opencv.core.Point无法转换为android.graphics.Point

找不到本机方法:org.opencv.core.Mat.n_Mat :()J

使用JavaCV在Java中等效于OpenCV语句

C++:错误:opencv_core:即使需要的 .so 文件在 /usr/lib/ 中,也没有这样的文件或目录

OpenCV(JavaCV)与OpenCV(C / C ++接口)

在opencv_core310.dll中使用findContours函数时,OpenCV引发未处理的异常

无法加载DLL'opencv_core290

javacv中的LineSegmentDetector(openCV 3)

导入org.opencv.highgui无法解析

使用OpenCV3的视频中的人脸识别会产生未处理的异常(opencv_core310.dll)

opencv python detectMultiScale API

Android API人脸检测与OpenCV / JavaCV人脸检测

Java(OpenCV API)中的gradient()函数

来自Maven的Java OpenCV

Java OpenCV绑定

Java中的OpenCV drawContours

Java OpenCV Aruco Mat

Java中的OpenCV ptr