我有一个程序,使用 OpenCV 用网络摄像头制作一些图片。 当我在 IDE(NetBeans)中运行该应用程序时,它的工作方式就像一个魅力,但是当我尝试运行 jar 文件时,它甚至不显示网络摄像头在我们的 JFrame 中看到的内容。有谁知道如何解决这个问题吗?
public void run(){
try {
grabber = new VideoInputFrameGrabber(0);
grabber.start();
while (active) {
IplImage originalImage = grabber.grab();
Label.setIcon(new ImageIcon( originalImage.getBufferedImage() ));
}
grabber.stop();
grabber.flush();
} catch (Exception ex) {
//Logger.getLogger(ChPanel.class.getName()).log(Leve l.SEVERE, null, ex);
}
}
public BufferedImage saveImage(){
IplImage img;
try {
//capture image
img = grabber.grab();
// save to file
File outputfile = new File(Project.getInstance().getFileURLStr() + " capture" + fotoCount++ + ".jpg");
ImageIO.write(img.getBufferedImage(), "jpg", outputfile);
//get file and set it in the project library
BufferedImage ImportFile = ImageIO.read(outputfile);
Project p = Project.getInstance();
MainScreen ms = MainScreen.getInstance();
ImageIcon takenPhoto = new ImageIcon(ImportFile);
p.setNextImage(takenPhoto);
ms.setPanels();
return ImportFile;
} catch (com.googlecode.javacv.FrameGrabber.Exception e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
当我从 CMD 中运行它时,它确实在我的 JFrame 上显示了图像。但是当我尝试拍照时,它显示以下消息:“无法写入核心转储。Windows 客户端版本默认情况下不启用小型转储”
最佳答案
我已经发现了这个问题,我安装了大约 3 个版本的 Java,这可能不太好:p
关于java - OpenCV 无法在 JAR 文件中运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17022756/