JCeb's Blog

Programación, investigación, proyectos, vida y mas…

OpenCV – análisis de imagenes

with 10 comments

Hola, he vuelto al blog ahora con una entrada que habla de Python y C++ implementando las bibliotecas de opencv, un conjunto de bibliotecas que sirven para analizar imagenes. En este caso les mostraré el código fuente para capturar video desde una camara de video y mostrarlo en una ventana. Es necesario decir que opencv ya tiene entre sus bibliotecas una clase que permite generar una ventana con el video o imagen a mostrar.

A continuación el código para python:

import sys
from opencv import cv, highgui
if __name__==”__main__”:
capture = highgui.cvCreateCameraCapture(0)
if not capture:
print “Error abriendo el /dev/video0”
sys.exit(1)
highgui.cvNamedWindow (“WebCam”, highgui.CV_WINDOW_AUTOSIZE)
print capture
while 1:
frame = highgui.cvQueryFrame (capture)
if frame is None:
break
highgui.cvShowImage (“WebCam”, frame)
c = highgui.cvWaitKey (10)
if c == ‘\x1b’:
break
cvDestroyWindow( “WebCam” );
A continuación el código para C++:

#include “highgui.h”
int main(int argc, char** argv){
cvNamedWindow(“WebCam”, CV_WINDOW_AUTOSIZE);
CvCapture* capture = cvCreateFileCapture( argv[1] );
IplImage* frame;
while(1){
frame=cvQueryFrame(capture);
if(!frame) break;
cvShowImage(“WebCam”, frame);
char c = cvWaitKey(33);
if( c == 27 ) break;
}
cvReleaseCapture(&capture);
cvDestroyWindow(“WebCam”);
}

Sí desean más información pueden entrar a:

http://opencv.jp/opencv-1.0.0_org/docs/index.htm

Written by JCeb

20 febrero, 2009 a 2:57 am

Publicado en Desarrollo, Investigación, Ocio

10 comentarios

Subscribe to comments with RSS.

  1. Te paso una modificacion:

    #include
    #include
    #include

    int main(int argc, char** argv){
    cvNamedWindow(“WebCam”, CV_WINDOW_AUTOSIZE);
    //CvCapture* capture = cvCreateFileCapture( argv[1] );
    CvCapture *capture = 0;

    /* initialize camera */
    capture = cvCaptureFromCAM( 0 );

    /* always check */
    if ( !capture ) {
    fprintf( stderr, “Cannot open initialize webcam!\n” );
    return 1;
    }

    IplImage* frame;

    while(1){
    frame=cvQueryFrame(capture);

    if(!frame) break;
    cvShowImage(“WebCam”, frame);
    char c = cvWaitKey(33);
    if( c == 27 ) break;
    }

    cvReleaseCapture(&capture);
    cvDestroyWindow(“WebCam”);
    }

    El Makefile:

    INC-DIR = -I. -I/usr/include -I/usr/include/opencv/
    LIB-DIR = -L. -L/usr/local/lib
    GCC = gcc
    CFLAGS = -g -Wall #-pedantic
    LIBS = -lcv -lcvaux -lcxcore -lhighgui
    COMPONENT= main

    all: $(COMPONENT)

    $(COMPONENT): $(COMPONENT).o
    $(GCC) $(LIBS) -Wall $(COMPONENT).o -o $@

    $(COMPONENT).o: $(COMPONENT).cpp
    $(GCC) $(CFLAGS) $(INC-DIR) -fPIC -c $(COMPONENT).cpp

    clean:
    rm -rf *o $(COMPONENT)

    Juan Antonio Breña Moral

    10 agosto, 2009 at 7:49 pm

    • este perograma es para grabar imagenes y audio de una camara de video?

      carol

      21 septiembre, 2009 at 2:30 pm

      • No, es nada mas para visualizar y aplicar filtros. Saludos, disculpa la tardanza.

        JCeb

        14 febrero, 2010 at 9:46 pm

  2. queria saber si pueden hacer un codigo para saber en q tiempos ocurren que la pantalla casi entera se pone digampos color rojo, tengo un video q dura 12 horas , nose qen que formato seria mejor grabarlo

    eduardo

    27 diciembre, 2009 at 2:22 am

  3. buenas tardes julian, quiero preguntarte si sabes como mostrar en una ventanas o en diferentes ventanas la captura de dos camaras web separadas.
    es decir manejo de estereovision. si me puedes ayudar porfavor dame una respuesta en el correo

    andres

    3 febrero, 2010 at 7:52 pm

    • Realmente no te podría ayudar, disculpa. Saludos y disculpa la tardanza.

      JCeb

      14 febrero, 2010 at 9:47 pm

  4. Hola te hago una pregunta, instale OpenCV en mi laptop y cuando quiero probar los ejmplos del mismo, me tira un error q dice cxcore100.dll not found etc…antes tenia instaldas esta libreria y funcionaba de maravilla, pero despues de formatear mi pc…no he podido hacerla funcionar…tengo armada una aplicacion en processing y cuando quiero correrla me tira un error de ruteo cuando intenta cargar OpenCV hypermedia video…si sabes cual es el problema me gustaria q me escribas asi te puedo pasar mas datos…para poder ayudarme si es que quieres…gracias…

    lucho

    28 julio, 2010 at 4:07 am

    • Disculpame, pero no me es posible ayudarte, ya que para nada conozco las causas del error que windows te ha marcado. Saludo.s

      JCeb

      2 agosto, 2010 at 12:42 am

  5. Hola estoy muy interesada en aprender OPENCV pero no se por donde empezar o en donde suscrbirme para aprende si me pueden ayudar se los agradeceria..soy estudiante de INGERNIERIA DE SISTEMAS Y ya estoy terminando mi carrera, si alquien me puede ayudar se los agradezco..

    ALEXA

    13 agosto, 2010 at 3:31 pm


Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: