Pregunta

Tengo un formulario en el que quiero capturar la imagen de la persona y mostrar esa imagen en el formulario.

¿Cómo puedo conectarme a la cámara web a través de Java y mostrar esa imagen en el formulario?

¿Fue útil?

Solución

Podría usarla javacv para capturar la imagen.

Este código debe comenzar (tomado de aquí ):

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

Otra alternativa sería usar el Marco de Medios Java ( JMF ).Puede encontrar un ejemplo aquí .

Otros consejos

Puede usar Captura de cámara web Proyecto para hacerlo.Está trabajando en Windows XP, Vista, 7, Linux, Mac OS, Raspberry Pi y más.Hay un componente de giro listo para usar que se extiende a JPanel que se puede usar para mostrar la imagen de su cámara web.Encontré este ejemplo Para obtener más detalles sobre cómo se puede hacer esto, presenta algunas capacidades avanzadas de este componente, pero el uso básico sería el siguiente:

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

Después de ejecutar este código, debe ver JFRAME con la imagen de su webcam dentro.

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

Puede descargar la última versión de https://github.com/sarxos/webcam-capture

y agregue otro archivo de la biblioteca que en el archivo zip

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top