[Jde-dev] [Jde-users] Capturar imagen con opencv

Roberto Calvo rocapal en gsyc.es
Lun Ene 5 12:26:01 CET 2009


Genial :-)

A mi no me funcionó con las logitech nuevas, pero creo que era porque no
configuraba bien la resolución. A ver si cuando vuelva puedo probarlas.

Sara, en el paquete opencv-doc hay varios ejemplos en C que hacen uso de
este api, échales un ojo si no lo has hecho ya, que hay bastante código.

El driver es una cosa a debatir. El hecho de hacerlo porque sí para
recubrir tampoco tiene mucho sentido. Los drivers de imágenes que
tenemos, al final ralentizan el proceso porque realizan conversiones que
hay que estudiar si son necesarias. También es importante ver que pasa
si se activa el driver opencv para imágenes, y ahora yo quiero grabar un
video. Grabar frame por frame es costoso y seguro que internamente
opencv lo hace mejor escribiendo a disco.


Por cierto Sara, actualiza tu bookmarks de correos, que jde-developers
antes era jde en gsyc.es y ahora es jde-developers en gsyc.es, más que nada
por no meter ruido en la lista de users.

un saludete!

El lun, 05-01-2009 a las 12:01 +0100, Sara Marugan escribió:
> He modificado el código para que la captura se vea en una ventanita en 
> tiempo real.
> 
> void main(){
>      CvCapture* myCapture = NULL;
>      IplImage *frame = NULL;
> 
>      // webcam capture started (opencv)
> 
>      myCapture =  cvCaptureFromCAM(-1);
>      if (myCapture == NULL)
>      {
>         printf ("Error myCapture == NULL\n");
>         return;
>      }
> 
>      cvNamedWindow( "opencv", 1 );
> 
>      /* Config Image Size */
>      cvSetCaptureProperty(myCapture,CV_CAP_PROP_FRAME_WIDTH,320);
>      cvSetCaptureProperty(myCapture,CV_CAP_PROP_FRAME_HEIGHT,240);
> 
>      /* Capture frame */
>      while(1){
>          frame = cvQueryFrame( myCapture );
>          cvShowImage( "opencv", frame);
>              cvWaitKey(10);
>      }
> 
>      // webcam capture finished (opencv)
>      cvDestroyWindow("opencv");
>      cvReleaseCapture(&myCapture);
> }
> 
> 
> Sara Marugan escribió:
> > He realizado una prueba con el código que envió Roberto y una webcam usb 
> > trust normalita y ha funcionado a la primera :)
> > Parece que con las usb no va a tener problema.
> >
> > Yo también creo que el driver basado en opencv podría dar la mayoría del 
> > soporte de vídeo.
> >
> > David Lobato escribió:
> >   
> >> Yo veo prometedora esta vía. ¿¿Para que preocuparnos de drivers de 
> >> bajo nivel para acceder a las cámaras si opencv ya lo sabe hacer y 
> >> además con una API tan sencillo??
> >>
> >> Por lo poco que he leído también puede leer varios formatos de video y 
> >> seguro que imágenes estáticas. Vamos que podemos poner casi todo el 
> >> soporte de video en este driver.
> >>
> >>
> >>
> >> El 31 de diciembre de 2008 14:19, Roberto Calvo <rocapal en gsyc.es 
> >> <mailto:rocapal en gsyc.es>> escribió:
> >>
> >>
> >>     Buenas,
> >>
> >>     He estado haciendo pruebas para capturar la imagen de la webcam
> >>     utilizando software de terceros. No parece que tengamos suficientes
> >>     recursos para mantener drivers actualizados para webcams usb y
> >>     firewire.
> >>
> >>     He utilizado opencv para realizar estas pruebas desde la
> >>     arquitectura de
> >>     JDE. Es bastante sencillo obtener un frame de una imagen (también
> >>     dispone de funciones para capturar vídeo). Un ejemplo:
> >>
> >>      CvCapture* myCapture = NULL;
> >>      IplImage *frame = NULL;
> >>
> >>      // webcam capture started (opencv)
> >>
> >>      myCapture =  cvCaptureFromCAM(-1);
> >>      if (myCapture == NULL)
> >>      {
> >>         printf ("Error myCapture == NULL\n");
> >>         return;
> >>      }
> >>
> >>      /* Config Image Size */
> >>      cvSetCaptureProperty(myCapture,CV_CAP_PROP_FRAME_WIDTH,320);
> >>      cvSetCaptureProperty(myCapture,CV_CAP_PROP_FRAME_HEIGHT,240);
> >>
> >>      /* Capture frame */
> >>      frame = cvQueryFrame( myCapture );
> >>      cvSaveImage("/tmp/prueba.png",frame);
> >>
> >>      // webcam capture finished (opencv)
> >>      cvReleaseCapture(&myCapture);
> >>
> >>
> >>     La imagen que se guarda en frame, es una imagen de 3 canales.
> >>     Convirtiéndola a una imagen de 4 canales (R,G,B,dummy) tenemos la
> >>     misma
> >>     estructura que en JDE para utilizar imágenes.
> >>
> >>     Estas pruebas las he realizado con la Philips PCVC740K. Tendré que
> >>     probar con la logitech a ver si funciona igual de bien.
> >>
> >>     Seguiremos probando a ver si puede ser una buena solución para
> >>     despreocuparnos de drivers usb/firewire.
> >>
> >>     un saludete y Feliz Año a todos!!
> >>
> >>     --
> >>     Roberto Calvo Palomino          | Libre Software Engineering Lab
> >>     (GSyC)
> >>     Tel: (+34) 91 488 85 23         | Universidad Rey Juan Carlos
> >>     Tel: (+34) 91 488 81 05         | Edif. Departamental II -
> >>     Despacho 116
> >>     rocapal en gsyc.es <mailto:rocapal en gsyc.es>                 |
> >>     c/Tulipán s/n 28933 Móstoles (Madrid)
> >>     http://libresoft.es/
> >>
> >>     GPG-KEY: http://gsyc.es/~rocapal/rocapal.gpg
> >>     <http://gsyc.es/%7Erocapal/rocapal.gpg>
> >>
> >>     _______________________________________________
> >>     Jde-developers mailing list
> >>     Jde-developers en gsyc.es <mailto:Jde-developers en gsyc.es>
> >>     http://gsyc.escet.urjc.es/cgi-bin/mailman/listinfo/jde-developers
> >>
> >>
> >> ------------------------------------------------------------------------
> >>
> >> _______________________________________________
> >> Jde-developers mailing list
> >> Jde-developers en gsyc.es
> >> http://gsyc.escet.urjc.es/cgi-bin/mailman/listinfo/jde-developers
> >>   
> >>     
> >
> > _______________________________________________
> > Jde-users mailing list
> > Jde-users en gsyc.es
> > http://gsyc.es/cgi-bin/mailman/listinfo/jde-users
> >
> >
> >   
> 
> _______________________________________________
> Jde-users mailing list
> Jde-users en gsyc.es
> http://gsyc.es/cgi-bin/mailman/listinfo/jde-users
-- 
Roberto Calvo Palomino          | Libre Software Engineering Lab (GSyC)
Tel: (+34) 91 488 85 23         | Universidad Rey Juan Carlos
Tel: (+34) 91 488 81 05         | Edif. Departamental II - Despacho 116
rocapal en gsyc.es                 | c/Tulipán s/n 28933 Móstoles (Madrid)
http://libresoft.es/       

GPG-KEY: http://gsyc.es/~rocapal/rocapal.gpg
------------ próxima parte ------------
Se ha borrado un mensaje que no está en formato texto plano...
Nombre     : no disponible
Tipo       : application/pgp-signature
Tamaño     : 197 bytes
Descripción: Esta parte del mensaje =?ISO-8859-1?Q?est=E1?= firmada
	digitalmente
Url        : http://gsyc.escet.urjc.es/pipermail/jde-developers/attachments/20090105/9afbad20/attachment.pgp 


More information about the Jde-developers mailing list