我有代码应该从我的网络摄像头创建一个视频捕获,让我知道它已经被发现使用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)
任何关于我做错的建议都将不胜感激。
答案 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文件夹。不管怎样,谢谢。