Java OpenCV 3.1 - Exeutable不能对摄像头进行快照,而NetBeans中运行的代码可以



我编写了一个简单的程序,可以对默认的网络摄像头进行快照。当我运行我的程序时,它运行没有错误,但不创建"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库

相关内容

  • 没有找到相关文章

最新更新