19 votos

Visión artificial en Python

Me gustaría realizar un par de básicos de visión artificial tareas usando Python y me gustaría saber donde podría encontrar tutoriales para que me ayude a empezar.

Hasta donde yo sé, el único libre de la biblioteca de Python que hace la máquina de la visión es PyCV (que es un contenedor para OpenCV aparentemente), pero no puedo encontrar cualquier tutoriales.

Mis tareas principales son para adquirir una imagen de FireWire. Segmento de la imagen en las diferentes regiones. Y, a continuación, realizar estadísticas en cada una de las regiones para determinar el área de un píxel y el centro de masa.

Anteriormente, he utilizado Matlab del Procesamiento de la Imagen Tootlbox sin ningún tipo de problemas. Las funciones que me gustaría encontrar un equivalente en Python se graythres, regionprops y gray2ind.

Gracias!

13voto

Kiv Puntos 9116

OpenCV es probablemente su mejor apuesta para una biblioteca; usted tiene su opción de contenedores para ellos. He mirado el TRAGO contenedor que viene con el estándar de instalar OpenCV, pero terminó con ctypes-opencv debido a que la gestión de la memoria parecía más limpio.

Ambos son muy delgadas de contenedores de todo el código C, por lo que cualquier C referencias que usted puede encontrar será aplicable a la Pitón.

OpenCV es enorme y no especialmente bien documentado, pero hay buenos ejemplos incluidos en el directorio de ejemplos que puede utilizar para empezar. Una base de OpenCV referencia de la API está aquí.

Usted no menciona si estás buscando en línea o imprimir fuentes, pero tengo la O'Reilly libro y es muy bueno (ejemplos en C, pero fácilmente traducible).

El FindContours función es un poco similar a regionprops; se obtendrá una lista de los componentes conectados, que puede inspeccionar para obtener su información.

De umbralización usted puede tratar de Umbral. Yo estaba seguro de que podría pasar un indicador a utilizar el método de Otsu, pero parece ser que no figuran en la documentación allí.

No he venido a través de las funciones específicas correspondientes a gray2ind, pero pueden estar ahí.

7voto

tom10 Puntos 19886

documentación: Un par de años he utilizado OpenCV ajustado para Python bastante. OpenCV está ampliamente documentado, barcos con muchos ejemplos, y hay incluso un libro. El Python contenedores yo estaba usando eran lo suficientemente delgada como para que muy poco de contenedor de la documentación específica que se requiere (y esto es típico de muchos otros envuelto bibliotecas). Me imagino que un par de minutos mirando un ejemplo, como el PyCV unidad de pruebas sería todo lo que usted necesita y, a continuación, usted puede centrarse en el OpenCV documentación que se adapte a sus necesidades.

análisis: en cuanto a que si hay una mejor librería de OpenCV, a mi un poco anticuado opinión es que OpenCV es grande si usted desea hacer bastante avanzada cosas (por ejemplo, seguimiento de objetos), pero posiblemente no es excesivo para sus necesidades. Suena como scipy ndimage combinado con básicos de numpy la manipulación de matrices puede ser suficiente.

adquisición: Las opciones que conozco para la adquisición de OpenCV, pájaro bobo, o el uso de ctypes a una interfaz directa con los controladores. De estos, nunca he utilizado el pájaro bobo, porque tuve problemas con la instalación. Los otros métodos que he encontrado bastante sencillo, aunque no recuerdo los detalles (que es una buena cosa, ya que significa que era fácil).

4voto

luispedro Puntos 3266

He comenzado un sitio web sobre este tema: pythonvision.org. Tiene algunos tutoriales & c y algunos enlaces a software. Hay más enlaces y tutoriales hay.

2voto

A. Levy Puntos 8344

Usted probablemente sería bien servido por SciPy. Aquí está el tutorial de introducción para SciPy. Tiene un montón de similitudes con Matlab. Especialmente el que se incluyen matplotlib paquete, que está hecho expresamente para emular la representación de funciones de Matlab. No creo SciPy ha equivalentes a las funciones que se mencionan. Hay algunas cosas que son similares. Por ejemplo, el umbral es muy simple, y la versión de graythresh. No aplicar "Otsu" método, sólo lo hace en un simple umbral, pero que podría estar lo suficientemente cerca.

Siento mucho que no sé de alguno de los tutoriales que están más cerca de la tarea que se describe. Pero si estás acostumbrado a Matlab, y desea hacerlo en Python, SciPy es un buen punto de partida.

0voto

Paul Puntos 13042

No sé mucho acerca de este paquete Motmot o Cómo compara con OpenCV, pero he importados y utiliza una clase o dos de él. El procesamiento de imágenes se realiza a través de arreglos numpy y podría ser bastante similar a cómo usted ha utilizado Matlab para satisfacer sus necesidades.

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X