2016-10-13 38 views
1

자바 데스크톱 응용 프로그램을 개발 중이며 웹캠 비디오를 기록 할 수있는 방법을 찾을 수 없습니다. 나는 연결된 카메라를 감지하고 당신이 선택한 것을 미리보기 위해 Sarxos 라이브러리를 사용하기 시작했다. 그러나 비디오 레코딩의 일부로 Xuggler를 사용하는 것은 더 이상 사용되지 않으며 다운로드 할 수도 없습니다. 나는 Humble-Video를 사용하는 곳을 읽었지만, 우리가 가진 유일한 예는 화면을 녹화하는 것입니다. 카메라는 없습니다. .. 길을 찾을 수있는 도움을 주시면 감사하겠습니다.Java에서 웹캠의 비디오를 기록하는 방법은 무엇입니까?

PS : 나는 자바 FX를 사용하고 있지만 스위치 필요한 경우이 어쩌면 당신에게 도움을 줄 수있는 JavaCV 구현입니다

+0

의 사용 가능한 복제 (http://stackoverflow.com/questions/276292/capturing- webcam-in-java에서 이미지) –

+0

흥미로운 질문입니다. – GOXR3PLUS

+0

하나의 이미지가 아닌 비디오를 캡처해야합니다 ... –

답변

0

스윙 :

import static com.googlecode.javacv.cpp.opencv_core.cvFlip; 
    import static com.googlecode.javacv.cpp.opencv_highgui.cvSaveImage; 

    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 Swing Program for capturing webcam

+0

대답의 핵심 부분을 포함 시키려면 이론적으로 질문에 대답 할 수 있지만 ([meta.stackoverflow.com/q/8259]) 대답하는 것이 좋습니다. 여기에 참조 용 링크를 제공하십시오. – Ivar

+0

당신은 이유가 있지만, 나는 그에게 올바른 방법으로 그 링크를 어떻게 주어야했는지 이해하지 못합니다. 제 영어 때문에 제 의견을 완전히 이해할 수 없습니다. 귀하의 팁을 주셔서 감사합니다 –

+0

스택 오버플로에서 링크가 포함되어있는 답변은 대개 삭제됩니다. 링크가 끊어지면 대답은 쓸모가 없기 때문입니다. 또한 사람들은 대답을 직접보고 싶으므로 링크를 먼저 클릭하지 않아도됩니다. 귀하의 경우, 모든 링크가 작동을 멈추게되면 귀하의 대답은 전혀 가치가 없습니다. 따라서 링크의 중요한 부분을 답에 추가하는 것이 더 좋으므로 링크가 제거되면 여전히 가치가 있습니다. – Ivar