10

我在将 openCV 添加到我的 eclipse 项目的构建路径时遇到问题。我已按照本网站教程中的说明进行操作:http: //docs.opencv.org/2.4.4-beta/doc/tutorials/introduction/desktop_java/java_dev_intro.html#create-a-simple-java-project-日食

但是执行代码片段会给出这个控制台输出:

Exception in thread "main" java.lang.UnsatisfiedLinkError: no opencv-java2.4.4 in java.library.path
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.loadLibrary0(Unknown Source)
at java.lang.System.loadLibrary(Unknown Source)
at camStatisticsTests.RawTests.main(RawTests.java:20)

为了让 openCV 与 java 和 eclipse 一起工作,我需要做什么。我想将它用作普通的 java 库。

4

6 回答 6

8

我有同样的问题。

发生这种情况是因为我对“本机库位置”配置有误:

转到 Eclipse -> 窗口 -> 首选项:

转到 Eclipse -> 窗口 -> 首选项

转到用户库:

在此处输入图像描述

确保您的本机库位置路径为(将 c:/opencv-2.4.9 更改为您自己的 opencv 文件夹):

C:/opencv-2.4.9/build/java/x64

并不是:

C:/opencv-2.4.9/build/x64

(我错过了/java文件夹...)

于 2014-10-22T13:35:45.637 回答
2

OpenCV java 库已正确链接到您的 Eclipse 项目。

问题是 OpenCV 本机库不在java.library.path. 该行抛出异常

static{ System.loadLibrary("opencv_java244"); }

它将java库链接到本机库。

当你在你的计算机上安装 OpenCV 时,它也会dll在你系统的某个地方安装一个本地库,当你调用 . 时System.loadLibrary,你告诉 java 搜索并加载这个库。

您当前的问题是Java在您的系统中找不到这个库,要么是因为该库不在其中一个java.library.path文件夹中,要么是因为您没有安装OpenCV(也看看版本,也许您没有2.4.4因为最后一个是 2.4.5,在这种情况下您将不得不调整字符串)。

我刚刚注意到您的例外是关于“opencv-java2.4.4”。System.loadLibrary确保在您的通话中使用正确的“opencv_java244”形式拼写。

我还将您重定向到我的一个答案,它与 JavaCV 相关,但更详细地解释了正在发生的事情。

于 2013-05-01T10:44:25.723 回答
1

我找到了解决方案。实际的 dll 位于该openCV\opencv\build\java\x64\文件夹中。就我而言,它的名字是opencv_java247.dll,所以我在我的 java 代码中System.loadLibrary("opencv_java244")改为。System.loadLibrary("opencv_java247")我还将本机库位置作为E:/Sagar_tools/tools/openCV/opencv/build/java/x64(这是我的 dll 的完整路径)。

于 2013-11-25T17:49:57.490 回答
1

对我来说,Eclipse > external jar > native library config = opencv/build/lib 工作

于 2016-11-17T05:56:50.350 回答
0

我找到了解决方案。本教程跳过了必须将 dll 添加到“本机构建路径”的步骤。我猜对于 32 位 java,该 dll 位于“opencv/build/java/x86”中。虽然我不知道为什么会这样。如果有人能解释一下,那就太好了。

于 2013-05-01T10:45:16.817 回答
-1

更改代码以System.loadLibrary("opencv_java244") 希望您将本机路径设置为正确的文件夹,并且 opencv jar 已在构建路径中设置

于 2014-10-29T06:23:41.790 回答