2012-05-22 3 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) { 
     } 
    } 
} 

또 다른 대안은 자바 미디어 프레임 워크 (JMF)를 사용하는 것입니다. 예 here을 찾을 수 있습니다.

2

Webcam Capture 프로젝트를 사용하면이 작업을 수행 할 수 있습니다. Windows XP, Vista, 7, Linux, Mac OS, Raspberry Pi 등에서 작동합니다. 웹캠의 이미지를 표시하는 데 사용할 수있는 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

에서 최신 버전을 다운로드하고 다른 라이브러리 파일을 추가 할 수 zip 파일에

관련 문제