En este momento estoy tratando con algo de procesamiento de imágenes en Python a través de PIL (Python Image Library). Mi objetivo principal es contar el número de células coloreadas en una imagen inmunohistoquímica. Sé que hay programas relevantes, bibliotecas, funciones y tutoriales al respecto, y revisé casi todos. Mi objetivo principal es escribir el código manualmente desde cero, tanto como sea posible. Por lo tanto, estoy tratando de evitar el uso de muchas bibliotecas y funciones exteriores. He escrito la mayor parte del programa. Así que aquí está lo que está sucediendo paso a paso:
El programa toma el archivo de imagen:
Y lo procesa para los glóbulos rojos (básicamente, apaga los valores RGB por debajo de un cierto umbral para el rojo):
Y crea el mapa booleano del mismo (va a pegar una parte ya que es grande) que básicamente pone 1 donde sea que se encuentre con un píxel rojo en la segunda imagen procesada de arriba.
22222222222222222222222222222222222222222
20000000111111110000000000000000000000002
20000000111111110000000000000000000000002
20000000111111110000000000000000000000002
20000000011111100000000000000000001100002
20000000001111100000000000000000011111002
20000000000110000000000000000000011111002
20000000000000000000000000000000111111002
20000000000000000000000000000000111111102
20000000000000000000000000000001111111102
20000000000000000000000000000001111111102
20000000000000000000000000000000111111002
20000000000000000000000000000000010000002
20000000000000000000000000000000000000002
22222222222222222222222222222222222222222
Intencionalmente generé ese marco como cosa en los bordes con 2s para ayudarme a contar el número de grupos de 1s en ese mapa booleano.
Mi pregunta para ustedes es, ¿cómo puedo contar eficientemente el número de celdas (grupos de 1s) en ese tipo de mapa booleano? Encontré http://en.wikipedia.org/wiki/Connected-component_labeling que se ve extremadamente relacionado y similar, pero por lo que veo, está en el nivel de píxeles. El mío está en el nivel booleano. Solo 1s y 0s.
Muchas gracias.