无法让java项目识别Open CV库

时间:2013-06-18 20:19:46

标签: java eclipse opencv

我有代码应该从我的网络摄像头创建一个视频捕获,让我知道它已经被发现使用OpenCV,但我甚至无法让项目将其识别为库。我已经将OpenCv添加到项目库和所有内容中。我不确定我是否使用了正确的名称。我刚刚使用了与创建用户库时相同的名称。

这是我的代码

package com.example.frametest;

import org.opencv.core.Mat;
import org.opencv.highgui.VideoCapture;

public class FrameTest {

public static void main (String[] args){
    System.loadLibrary("opencv_java");
    VideoCapture cap = new VideoCapture(0);

    if(!cap.isOpened()){
        System.out.println("Did not connect to camera");

    }else System.out.println("found webcam:" + cap.toString());
    //Mat frame = new Mat();
    //cap.retrieve(frame);

}

}

以下是错误框中的消息

Exception in thread "main" java.lang.UnsatisfiedLinkError: no opencv_java 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 com.example.frametest.FrameTest.main(FrameTest.java:9)

任何关于我做错的建议都将不胜感激。

3 个答案:

答案 0 :(得分:0)

它正在Java系统属性java.library.path中寻找原生的.dll / .so库。将启动器更改为-Djava.library.path = the_right_folder作为VM参数之一。

答案 1 :(得分:0)

你是如何将库添加到项目中的?

如果你是通过日食纠正(like this)完成的,那么你就不应该有这条​​线

System.loadLibrary("opencv_java");

因为它是在您的类顶部使用import语句导入的。

或者您可能想尝试使用

System.loadLibrary("org.opencv");

答案 2 :(得分:0)

我明白了。我不得不下载OpenCv.exe文件而不仅仅是.zip文件。然后我必须将本机库位置设置到其构建文件夹中的java文件夹。不管怎样,谢谢。