31 jul. 2012

Captura de vídeo con Python y SimpleCV. Parte 4.

En este artículo se muestra como generar un vídeo usando la webcam del computador con python y SimpleCV.

El script simplemente define la captura de vídeo, genera un ciclo donde se captura el vídeo y se muestra en pantalla. Cuando se presiona la tecla espaciadora se hace una captura de una imagen y se salva, al presionar la tecla Escape se finaliza el ciclo de captura de vídeo.

El código se muestra a continuación:

#!/usr/bin/env python

#Se importa cv2.

import cv2




# se crea la instancia de la captura de Video.

video = cv2.VideoCapture(0)

#Se define un ciclo.

while True:

    #Se captura el video de la webcam

    ret,im = video.read()

    #Se muestra el video  donde se pasa im que es la lectura del video de la webcam.

    cv2.imshow('Prueba de video',im)

    #Se captura la tecla de escape del teclado

    tecla = cv2.waitKey(10)

    if tecla == 27:

        #Si es la tecla escape se termina el ciclo

        break

    #Si la tecla es el espacio en blanco se captura una imagen del video.

    if tecla == ord(' '):

        cv2.imwrite('captura_img.jpg',im)

A continuación se muestra el vídeo:


En la siguiente imagen se muestra la captura de la foto al grabar el vídeo:

5 comentarios:

Oscar Navarrete dijo...

Hola! Muy interesante tu tutorial! Apenas estoy haciendo mis primeros pasos con SimpleCV y la Raspberry Pi y tengo una duda. Entiendo que tu programa cada que se presione la barra espaciadora, captura una imagen, se puede hacer un programa que capture una imagen, haga un procesamiento de imagen y luego haga lo mismo, n veces. Como en un ciclo infinito? Hasta que el usuario le diga que se salga? Espero puedas resolver mi duda. Gracias!

Ernesto Crespo dijo...

Claro que se puede, capturas la imagen, la guardas, la procesas luego. Haces el ciclo y listo.
Tengo cosas que seguir publicando sobre SimpleCV, creo que será para Noviembre que las retome.

vjuanc dijo...

Ernesto tengo el siguiente problema. He probado tu programa y muchos otros que he encontrado en internet pero siempre me encuento con el mismo error. La venta se abre normalmente, pero se queda de color negro y en la consola aparece un mensjae que dice "select timeout
" cada vez que intenta actualizar un frame. Como soluciono eso?? tengo entendido que es un problema del opencv

Ernesto Crespo dijo...

Saludos Juan, tienes razón, tengo que retomar los artículos de SimpleCV, he intentado ejecutar la aplicación y da ese error.

Emiloi! dijo...

Es posible que desde el arduino le de la señal por puerto serial a la aplicacion para comenzar a grabar y otra señal para dejar de grabar?