Domanda

Ho una forma in cui voglio catturare l'immagine della persona e mostrare quell'immagine nel modulo.

Come posso connettermi alla webcam tramite Java e mostrare l'immagine nel modulo?

È stato utile?

Soluzione

È possibile utilizzare javacv per catturare l'immagine.

Questo codice dovrebbe iniziare (preso da qui ): .

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

Un'altra alternativa sarebbe quella di utilizzare Java Media Framework ( JMF ).Puoi trovare un esempio qui .

Altri suggerimenti

È possibile utilizzare Webcam Capture Progetto per farlo.Sta lavorando su Windows XP, Vista, 7, Linux, Mac OS, Raspberry PI e altro ancora.C'è un componente oscillante pronto all'uso che si estende JPanel che può essere utilizzato per visualizzare l'immagine dalla tua webcam.Si prega di trovare Questo esempio Per maggiori dettagli su come questo può essere fatto - presenta alcune funzionalità avanzate di questo componente, ma l'utilizzo di base sarebbe quanto segue:

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

Dopo aver eseguito questo codice dovresti vedere JFRAME con l'immagine dalla tua webcam all'interno.

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

può scaricare l'ultima versione da https://github.com/sarxos/webcam-Capture

e aggiungi altri file della biblioteca che nel file zip

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top