Silly Bytes has moved - Silly Bytes se trasladó

www.sillybytes.net

7 abr. 2012

Capturando imagenes en python con opencv (y hacerlo funcionar en Arch)


Hace poco me interese por la capacidad de tomar frames con una webcam desde  "python", y en busca de como lograr tomar imágenes encontré "opencv", una librería de visión artificial para c/c++  que tiene bindings para python,  así pues es perfecta para jugar con python y una webcam. El único problema es la poca documentación existente de esta librería en cuanto a su uso con python, pero con un poco de búsqueda he encontrado pequeños programas de muchas personas que me podrían ayudar a entender su funcionamiento.






La web en la que mas me interesé fue un ya abandonado blog "python-r2" con aportes de muchas personas y muchos programillas en python con opencv. Pues bien, al momento de intentar correr uno de ellos en mi sistema tenia errores de todos lo sabores y me resulto imposible. Hipersayan (a fellow hacker) me ayudó con el perfecto lío que me traía y explico un poco de ello:

Instalación de opencv en arch:  pacman -S opencv  

Aquí mi primer problema: en Fedora yo instalaba "opencv" y "opencv-python" para poder usarlo con python pero desconocía que en Arch el paquete "opencv" ya lo incluía todo así que ya podía usar opencv con python... bueno... casi.

Como sabemos los archers somos "actualizados" por excelencia gracias a nuestro compañero "pacman", así pues la versión de python por defecto es la 3.x y resulta ser que opencv aun no cuenta con la compatibilidad para python 3.x solo python 2.x  (gracias hipersayan).

Bueno para la solución podemos ejecutar python como "python2" para usar nuestra versión de python 2.x , o también podemos agregar un alias a nuestro fichero .bashrc 
( alias python='python2' )
De esta forma al ejecutar "python" estaremos usando nuestra versión 2.x y NO la 3.x

Con esto ya tenia corriendo perfecto opencv en python, pero al intentar ejecutar unos de los programillas que encontré en python-r2 (que por cierto muchas gracias a Arturo, el moderador, por arreglar los links) ...para mi sorpresa estos no arrancaban y me arrojaban muchos pero muchos errores. Buscado la solución encontré que en una del las actualizaciones de opencv, lo desarrolladores habían modificado (drásticamente a mi parecer) la manera en que se usa esta librería en python, por lo que lo ejemplos quedaron inservibles, pero al mismo tiempo encontré varios ejemplos de opencv con python en su web oficial, aunque olvidé donde los encontré ¯\_(ツ)_/¯.  Se los dejo en mediafire en caso de que les interese:

Nuevos ejemplos Opencv en Python