java - 退出 OPENCV 248 JAVA 后网络摄像头应用程序不会关闭

标签 java opencv video netbeans jpanel

我刚刚完成了一个应用程序,它有一个 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/

相关文章:

html - 如何处理 Chrome 中糟糕的 HTML5 视频性能?

javascript - 如何让 2 个 YouTube 视频一个接一个地自动播放?

java - java中如何检测网页是否已加载

java - JUnit:暂停以等待用户输入

python - 如何将曲线拟合到骨架图像?

c# - EmguCV - 运动检测不返回角度

html - 带容器的视频背景

java - 命令行错误: Could not find or load main class Part1

java - Android - 如何以编程方式将证书存储在 keystore 中?

xml - OpenCv Haar函数创建的XML内部包含什么。