0

我有应该从我的网络摄像头创建视频捕获的代码,并让我知道它是使用 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)

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

4

3 回答 3

0

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

于 2013-06-18T20:26:26.133 回答
0

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

如果您通过 eclipse 校正(像这样)完成了它,那么您不需要这条线

System.loadLibrary("opencv_java");

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

或者,您可能想尝试使用

System.loadLibrary("org.opencv");
于 2013-06-18T20:46:52.743 回答
0

我想到了。我必须下载 OpenCv.exe 文件而不仅仅是 .zip 文件。然后我必须将本机库位置设置到其构建文件夹中的 java 文件夹。无论如何谢谢。

于 2013-06-20T14:21:38.013 回答