2012-05-22 2 views
3

У меня есть форма, в которой я хочу захватить изображение человека и отобразить это изображение в форме.Как подключиться к веб-камере в Java?

Как подключиться к веб-камере через java и отобразить это изображение в форме?

+0

http://stackoverflow.com/questions/2004405/how-to-capture-video -from-webcamin-java –

+1

http://stackoverflow.com/questions/276292/capturing-image-from-webcam-in-java – PeterMmm

ответ

4

Вы можете использовать JavaCV, чтобы получить изображение.

Этот код должен получить вы начали (из here):

import com.googlecode.javacv.CanvasFrame; 
import com.googlecode.javacv.FrameGrabber; 
import com.googlecode.javacv.VideoInputFrameGrabber; 
import com.googlecode.javacv.cpp.opencv_core.IplImage; 
public class GrabberShow implements Runnable { 
    //final int INTERVAL=1000;///you may use interval 
    IplImage image; 
    CanvasFrame canvas = new CanvasFrame("Web Cam"); 
    public GrabberShow() { 
     canvas.setDefaultCloseOperation(javax.swing.JFrame.EXIT_ON_CLOSE); 
    } 
    @Override 
    public void run() { 
     FrameGrabber grabber = new VideoInputFrameGrabber(0); 
     int i=0; 
     try { 
      grabber.start(); 
      IplImage img; 
      while (true) { 
       img = grabber.grab(); 
       if (img != null) { 
        cvFlip(img, img, 1);// l-r = 90_degrees_steps_anti_clockwise 
        cvSaveImage((i++)+"-capture.jpg", img); 
        // show image on window 
        canvas.showImage(img); 
       } 
       //Thread.sleep(INTERVAL); 
      } 
     } catch (Exception e) { 
     } 
    } 
} 

Другой альтернативой было бы использовать Java Media Framework (JMF). Вы можете найти пример here.

2

Для этого вы можете использовать проект Webcam Capture. Он работает с Windows XP, Vista, 7, Linux, Mac OS, Raspberry Pi и другими. Существует готовый к использованию компонент Swing, расширяющий JPanel, который можно использовать для отображения изображения с веб-камеры. Пожалуйста, нашли this example для более подробной информации о том, как это можно сделать - это представляет некоторые дополнительные возможности этого компонента, но основное использование было бы следующее:

JFrame window = new JFrame("Test webcam panel"); 
window.add(new WebcamPanel(Webcam.getDefault())); 
window.pack(); 
window.setVisible(true); 
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 

После выполнения этого кода вы должны увидеть JFrame с изображением с вашим веб-камера внутри.

0
Webcam.setAutoOpenMode(true); 
BufferedImage image = Webcam.getDefault().getImage(); 
ImageIO.write(image, "PNG", new File("F:/test.png")); 

можно скачать последнюю версию с https://github.com/sarxos/webcam-capture

и добавить другой файл библиотеки, который в почтовый файл

Смежные вопросы