Reconocimiento de objetos simples

=== SOLUCIONADO ===

Gracias por sus sugerencias y comentarios. Al trabajar en el algoritmo flood_fill dado enComenzando la visualización de Python libro (Capítulo 9 - Procesamiento de imágenes) He implementado lo que he querido. Puedo contar los objetos, obtener rectángulos adjuntos para cada objeto (por lo tanto, altura y anchura) y, por último, puedo construir matrices o matrices NumPy para cada uno de ellos.

Aunque no es un enfoque optimizado, hace lo que quiero. El código fuente (lab2.py) y el archivo png (lab2-particle.png) que utilizo han sido puestos bajohttp://code.google.com/p/ccnworks/source/browse/#svn/trunk/AtSc450.

Necesita NumPy y PIL instalados, y matplotlib para ver el histograma. El núcleo del código se encuentra dentro de la función objfind donde se produce la acción de búsqueda recursiva principal del objeto.

Una actualización más:

SciPy'sndimage.label () hace exactamente lo que quiero, también.

Saludos paraDavid-Warde Farley yZachary Pincus de las listas de correo NumPy y SciPy para señalar esto directamente a mis ojos :)

=============

Hola,

Tengo una imagen que contiene las sombras de las partículas de hielo medidas por un espectrómetro de partículas. Quiero poder identificar cada objeto, para poder clasificarlos y usarlos más adelante en mis cálculos.

En esencia, lo que estoy dispuesto a hacer es simplemente implementar una herramienta de selección difusa en la que simplemente pueda seleccionar cada entidad.

¿Cómo podría resolver este problema fácilmente? (Preferiblemente usando Python)

Gracias.

NOTA: En mi pregunta me refiero a cada píxel conectado específico como objetos o entidades. Mi intención es extraerlas y crear representaciones de matriz NumPy como se muestra a continuación. (Aquí estoy usando el objeto de la parte superior izquierda; si existe un píxel, use 1 si no usa 0. La forma de este objeto es de 3 por 3, que corresponde a 3 píxeles de alto por 3 píxeles de ancho. Estas son proyecciones de partículas de hielo reales en el dominio 2D , bajo el supuesto de que son esféricos y el radio equivalente es (altura + ancho) / 2, y más adelante se realizarán algunas escalas, desde los píxeles hasta los tamaños reales y los cálculos de volumen)

import numpy as np

np.array([[1,1,1], [1,1,1], [0,0,1]])

array([[1, 1, 1],
       [1, 1, 1],
       [0, 0, 1]])

Aquí hay una sección de la imagen que voy a usar.

captura de pantalla http://img43.imageshack.us/img43/2327/particles.png

Respuestas a la pregunta(5)

Su respuesta a la pregunta