我编写了一个简单的程序,可以对默认的网络摄像头进行快照。当我运行我的程序时,它运行没有错误,但不创建"test.jpg",而当我直接从NetBeans运行它时,它工作完美,并在项目目录中创建test.jpg。什么可能导致这个问题?代码:
import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.imgcodecs.Imgcodecs;
import org.opencv.videoio.VideoCapture;
public class NewClass {
public static void main(String args[]) {
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
VideoCapture camera = new VideoCapture(0);
if (!camera.isOpened()) {
System.out.println("Error");
} else {
Mat frame = new Mat();
while (true) {
if (camera.read(frame)) {
System.out.println("Captured Frame Width "
+ frame.width() + " Height " + frame.height());
Imgcodecs.imwrite("test.jpg", frame);
break;
}
}
}
camera.release();
}
}
您是否从命令提示符运行它(而不是仅仅单击.jar)以获取堆栈跟踪?我怀疑它没有从.jars位置找到OpenCV库