Y claro, mi hipotético futuro superrobot tiene que ver y entender según que cosas, como llamarme papá al verme... ahí es cuando entra OpenCV, una librería de visión artificial que empezaremos a utilizar con estos tutoriales.
En este post, aprenderemos a instalarla en Python y dejarla lista para usar, y ya de paso cargaremos un ejemplo de los que lleva para comprobar que funciona.
Las descargas:
La instalación:
- Instalamos Python, y las librerias Numpy y Matplotlib.
- Instalamos OpenCV
- Entramos en la carpeta C:\opencv24\build\python\2.7\x86
- Copiamos cv2.pyd en la carpeta C:\Python27\Lib\site-packages
Comprobación:
En la ventana de comandos de Python insertamos
>>> import cv2
Si no da ningún error, ya lo tenemos instalado.
El ejemplo:
import numpy as np import cv2 # Creamos una variable de camara y asigamos la primera camara disponible con "0" cap = cv2.VideoCapture(0) # Iniciamos el bucle de captura, en el que leemos cada frame de la captura while(True): ret, frame = cap.read() cv2.imshow('Camara', frame) #Con esto creamos una ventana en la que mostramos las capturas if cv2.waitKey(1) & 0xFF == ord('q'): # Indicamos que al pulsar "q" el programa se cierre break cap.release() cv2.destroyAllWindows()
Conclusiones:
Bien, hemos instalado OpenCv y Python, hemos capturado la cámara y visto en pantalla, antes de seguir tenemos que entender como funciona OpenCv y en general el proceso de visión artificial.
- Lo primero capturar la imagen, algo obvio para poder analizarla.
- Procesar la imagen para eliminar los datos que no necesitamos y mejorar tanto la detección como la velocidad de trabajo.
- OpenCv tiene diferentes herramientas para detección de imágenes, y debemos encontrar las que mejor nos funcionen para lo que nosotros queremos.
Por ejemplo, si queremos detectar un objeto azul en un fondo que contraste lo suficiente, lo que deberíamos hacer es filtrar la imagen para eliminar todos los colores menos el azul, de esta forma OpenCV tendría como referencia una imagen de este estilo (Insertar una imagen). Si por el contrario, debemos detectar una cara, en un fondo beige, esta bastante claro que no tenemos suficiente contraste para utilizar esta técnica, y utilizaremos el HaarCascade, del que ya hablaremos. - Una vez detectada la imagen, ya lo tenemos todo, las posibilidades son enormes.
Creo que el conocer el funcionamiento es básico para aprender sobre esta librería a pasos agigantados, de otra forma te pasas mucho tiempo siguiendo tutoriales sobre como OpenCV muestra una ventana, carga una imagen, la guarda, la pone en blanco y negro, la muestra otra vez, cambia el formato a HSV, la muestra de nuevo, le pone un lacito y finalmente te aburres y lo dejas ( me pasó...)
No hay comentarios:
Publicar un comentario