2016-10-13 2 views
1

Ich entwickle eine Java-Desktop-Anwendung und finde keine Möglichkeit, Webcam-Video aufzunehmen. Ich nutze die Sarxos-Bibliothek, um die angeschlossenen Kameras zu erkennen und alle von Ihnen ausgewählten zu betrachten. Aber um zu dem Teil der Videoaufnahme zu gelangen, wird im Beispiel Xuggler verwendet, das veraltet ist und nicht einmal du herunterladen kannst. Irgendwo lese ich, dass Humble-Video verwendet, aber das einzige Beispiel, das wir haben, ist den Bildschirm aufzunehmen, keine Kamera. .. Jede Hilfe, um den Weg zu finden, wird geschätzt.Wie kann ich Video von einer Webcam in Java aufnehmen?

PS: Ich bin mit JavaFX aber wenn nötig Ich schalte

+0

Mögliches Duplikat (http://stackoverflow.com/questions/276292/capturing- image-from-webcam-in-java) –

+0

Interessante Frage. – GOXR3PLUS

+0

Ich muss Video aufnehmen, kein einziges Bild ... –

Antwort

0

Dies ist eine JavaCV Implementierung Swing, die Ihnen vielleicht helfen:

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) { 
      } 


} 
} 

Sie können die Codes ändern und in der Lage sein, zu speichern die Bilder in regelmäßigen Abständen und machen Sie den Rest der Verarbeitung, die Sie wollen.

Und hier können Sie ein weiteres Tutorial finden, was auch eine Option sein könnte: [? Capturing Bild von der Webcam in java] Java Swing Program for capturing webcam

+0

Während dies die Frage theoretisch beantworten könnte, [wäre es vorzuziehen] (// meta.stackoverflow.com/q/8259), die wesentlichen Teile der Antwort aufzunehmen hier, und stellen Sie den Link als Referenz zur Verfügung. – Ivar

+0

Sie haben Grund, aber ich verstehe nicht, wie ich ihm dann das Link auf den richtigen Weg gegeben haben sollte. Ich meine aufgrund meines Englisch, kann ich Ihren Kommentar nicht vollständig verstehen. Danke für Ihren Tipp –

+0

Auf Stack Overflow werden Antworten, die nur Links enthalten, normalerweise gelöscht, denn wenn die Verbindung abbricht, ist die Antwort sinnlos. Auch Leute sehen die Antwort gerne direkt und müssen nicht zuerst auf die Links klicken. Wenn in Ihrem Fall alle Links nicht mehr funktionieren, hat Ihre Antwort keinen Wert. Es ist daher besser, die wichtigen Teile des Links zu der Antwort hinzuzufügen, so dass es immer noch nützlich ist, wenn die Links entfernt werden würden. – Ivar

Verwandte Themen