我刚刚完成了一个应用程序,它有一个 jpanel 显示来自网络摄像头的图像,我使用了 OPENCV 2.4.8 和 VideoCapture,当我关闭 netbeans 中的框架时,程序仍然继续运行,所以我必须从 netbean 的停止底部关闭它。我第一次尝试在 Windows 中运行应用程序 *.jar,它工作正常,但是当我关闭它并再次打开它时,相机出现问题,就像它已经被使用一样!有任何想法吗?
这是一段代码-
public static void main(String[] args) {
Permisos objPer = new Permisos();
objPer.setLocationRelativeTo(null);
objPer.setBounds(0, 0, 468, 328);
objPer.setVisible(true);
objPer.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
webFrame panel = new webFrame();
pan1.add(panel);
Mat webcam = new Mat();
video = new VideoCapture(0);
if (video.isOpened()) {
while (true) {
video.read(webcam);
panel.MatToBufferedImage(webcam);
panel.setSize(webcam.width() + 40, webcam.height() + 60);
panel.repaint();
}
} else {
System.out.println("no video open");
}
}
当我拔下相机插头并将其重新插回到电脑上时,我可以让相机再次工作
最佳答案
成功了! VideoCapture 类有一个名为release() 的函数。只需将其添加到应用程序的导出...感谢 Mayur 的帮助!
关于java - 退出 OPENCV 248 JAVA 后网络摄像头应用程序不会关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21324558/