Showing posts with label OpenCV. Show all posts
Showing posts with label OpenCV. Show all posts

December 4, 2012

Camara OpenCV Python

Aquí les dejo un script sencillo para utilizar la camara de tu computadora o laptop con OpenCV

import cv
import time

cv.NamedWindow("cam", 1)#crea ventana

captura = cv.CaptureFromCAM(0)#captura de video, el numero 0 puede variar, en caso de no funcionar intenta con -1 o 1
cv.SetCaptureProperty(captura,cv.CV_CAP_PROP_FRAME_WIDTH, 640)#establece el ancho de la captura de video
cv.SetCaptureProperty(captura,cv.CV_CAP_PROP_FRAME_HEIGHT, 480);#establece el largo de la captura de video

#si no hay captura de video cerrar todo
if not captura:
    print 'Error con WebCam'
    sys.exit(1)

while True:
    img = cv.QueryFrame(captura)#crea una imagen o frame con la captura de video
    if img is None:#si no hay imagen sale del ciclo while
        break
    cv.ShowImage("cam", img)#muestra la imagen o frame en pantalla
    if cv.WaitKey(10) == 27:#espera a la tecla ESC para detener el programa
        break
cv.DestroyAllWindows()

Aquí una imagen de una prueba:

Instalar OpenCV python

Para instalar OpenCV en Ubuntu, tan sólo hay que ejecutar los siguientes comandos en terminal:

sudo apt-get install libopencv-*

Para añadir el soporte de Python:

sudo apt-get install python-opencv
sudo apt-get install python-numpy

Ejemplos

Aquí unos pequeños ejemplos para comenzar a trabajar.

Este ejemplo lo único que hace es cargar una imagen y mostrarla en una ventana tal cual es y otra ventana para mostrarla en escala de grsises.

import cv2
import numpy as np
import sys

if len(sys.argv)!=2:#comprueba si se dio la imagen al ejecutar
    print "intenta con: python imagen.py nombreDeLaImagen.extension"
else:
    img = cv2.imread(sys.argv[1],cv2.CV_LOAD_IMAGE_COLOR)#lee imagen
    if(img==None):
        print "No se pudo abrir o encontar la imagen"
    else:
        grayImage = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)#convierte a grises
        cv2.imwrite('grayTux.png',grayImage)#guarda imagen en escala de grises
        cv2.imshow('imagen a color', img)#muestra imagen a color
        cv2.imshow('imagen en grises', grayImage)#muestra imagen en escala de grises
        cv2.waitKey(0)#espera a presionar cualquier tecla
        cv2.destroyAllWindows()#cierra las ventanas

Para ejecutar este programa se ejecuta en terminal en la carpeta donde se encuentre el script, lo siguiente:

python nombreDelPrograma.py imagen.extension

Por ejemplo:
python imagen.py tux.png