JavaCV Grabber网络摄像头只能在我的电脑上工作?

时间:2013-04-12 21:02:37

标签: java javacv image-capture

所以我使用这个代码创建了一个可执行的JAR,一切都在我的机器上工作正常但是我在其他一些计算机上测试它并且网络摄像头捕获永远不会启动。指示灯不亮。这是我在大多数教程中看到的用于进行图像捕获的示例,我正在进行人脸识别,因此最简单的方法是使用javaCV函数而不是添加另一个库。所有建议都表示赞赏,谢谢。

   CanvasFrame canvas = new CanvasFrame("Webcam");
    //Set Canvas frame to close on exit
    canvas.setDefaultCloseOperation(javax.swing.JFrame.EXIT_ON_CLOSE);
    try {
        //Start grabber to capture video
        grabber.start();
        //Declare img as IplImage
        IplImage img;
        long starttime = System.currentTimeMillis();
        while (temptime < 4000) {
            //inser grabed video fram to IplImage img
            img = grabber.grab();
            //Set canvas size as per dimentions of video frame.
            canvas.setCanvasSize(grabber.getImageWidth(), grabber.getImageHeight());
            if (img != null) {
                //Flip image horizontally
                cvFlip(img, img, 1);
                //Draw text over the canvas
                Graphics g = canvas.createGraphics();
                g.setFont(camfont);
                g.setColor(Color.red);
                //Show video frame in canvas
                canvas.showImage(img);
                if (temptime > 2000 && tempcount == 1) {
                    //take and save the picture
                    cvSaveImage("User-cap.jpg", img);
                    tempcount++;
                }
                temptime = System.currentTimeMillis() - starttime;
            }
        }
    } catch (Exception e) {
    }
    try {
        grabber.stop();
        canvas.dispose();
    } catch (Exception e) {
        System.out.println("Grabber couldn't close.");
    }

1 个答案:

答案 0 :(得分:0)

你需要在运行该程序的机器上安装OpenCV,jar只包含javacv包装器,但不包含opencv的dll