在eclipse中将openCV添加到java构建路径

在eclipse中将openCV添加到java构建路径,java,windows,eclipse,opencv,Java,Windows,Eclipse,Opencv,我在将openCV添加到eclipse项目的构建路径时遇到问题。我遵循了本网站教程中的说明: 但执行代码片段会产生以下控制台输出: 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.loadLibrar

我在将openCV添加到eclipse项目的构建路径时遇到问题。我遵循了本网站教程中的说明:

但执行代码片段会产生以下控制台输出:

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库。

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相关,但这将更详细地解释正在进行的操作。

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

我找到了一个解决办法。实际的dll位于
openCV\openCV\build\java\x64\
文件夹中。在我的例子中,它的名称是
opencv\u java247.dll
,所以我在java代码中将
System.loadLibrary(“opencv\u java244”)
更改为
System.loadLibrary(“opencv\u java247”)
。我还将本机库位置设置为
E:/Sagar\u tools/tools/openCV/openCV/build/java/x64
(这是我到dll的完整路径)。

我也遇到了同样的问题

这是因为我在“本机库位置”配置中出错:

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

窗口->首选项“>

转到用户库:

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

而不是:

C:/opencv-2.4.9/build/x64

(我错过了/java文件夹…

将代码更改为
System.loadLibrary(“opencv\u java244”)

希望您将本机路径设置为正确的文件夹,并且opencv jar在构建路径中为我设置了,Eclipse>external jar>native library config=opencv/build/lib
工作

谢谢你的回答,但实际上我自己发现了问题。我必须给这个库提供dll。我不知道为什么,也许你可以给我更多的见解…dll库必须在java可以找到它的地方。它可以在windows$PATH中,也可以在Eclipse原生版本中指定的
java.library.PATH
中列出的文件夹中路径(你做了什么),或者通过将代码> > djava.库>路径>代码>命令行。为什么OpenCV需要一个DLL,因为OpenCV是一个C++库,我们需要java。JNI将java方法调用映射到本地库方法,最后调用OpenCV库来“做这项工作”。
C:/opencv-2.4.9/build/x64