Segmentando pastillas del fondo

9

Recientemente comencé con el procesamiento de imágenes y tomé un curso relacionado en la escuela de posgrado. Pero ya tengo un proyecto que hacer sin demasiada información sobre el tema, sin embargo, he logrado un progreso constante. Estoy tratando de segmentar las píldoras de sus respectivos antecedentes. Para imágenes con fondos contrastantes, he podido segmentar las píldoras usando el método de Otsu. Con respecto a las imágenes con fondos similares, el método de Otsu no funciona del todo. He estado leyendo bastantes documentos con respecto a la segmentación, pero la mayoría de los documentos que he leído usan un valor de umbral manual dependiendo del tipo de imagen. ¿Es posible detectar el valor de umbral correcto y umbral automático de una imagen y utilizar técnicas como el cultivo de semillas o la agrupación para segmentar la imagen?

El espacio de color que he estado usando es L a b *, por lo que agradecería que me recomendaras el espacio de color apropiado que también debería usar.

Las imágenes en cuestión:

original 1

ingrese la descripción de la imagen aquí

resultado 1

ingrese la descripción de la imagen aquí

original 2

ingrese la descripción de la imagen aquí

resultado 2

ingrese la descripción de la imagen aquí

original 3

ingrese la descripción de la imagen aquí

resultado 3

ingrese la descripción de la imagen aquí

GamingX
fuente
77
¿Podrías subir una imagen por favor? ¿Qué pasa con el umbral adaptativo?
Quentin Geissmann
3
¿Qué pasa con los métodos de conjunto de niveles y contornos activos? Puede segmentar las píldoras desde el fondo no solo por el valor de intensidad (umbral), sino según la textura del objeto. El espacio de color utilizado es solo un sistema de coordenadas para los colores: utilice uno que distinga mejor los colores de su imagen por motivos de segmentación. Por ejemplo, si las imágenes están en tonos morados, puede usar la conversión en escala de grises con más peso en los componentes rojo y azul.
Libor
Quentin: No tengo suficiente reputación para subir las fotos.
GamingX
@Syed Cárguelos en algún lugar público y agregue los enlaces a la pregunta si lo desea.
Maurits

Respuestas:

2

Si desea utilizar el enfoque de umbral, debe utilizar un método de umbral adaptativo si hay grandes variaciones de iluminación como en la tercera imagen de ejemplo ( pregunta dsp aquí ).

Además, debe experimentar con espacios de colores, es fácil: el script para descomponer la imagen en diferentes espacios de colores no debe tener más de unas pocas líneas de largo, y muchos visores de imágenes tienen esa opción disponible. El mejor debería ser fácil de determinar solo visualmente. Si desea leer sobre espacios de colores, aquí no hay otra buena pregunta de dsp .

Finalmente, es posible que desee probar un enfoque diferente. Una idea sería hacer una segmentación no perfecta, luego una detección de bordes y finalmente usar algo como la transformación de Hough para círculos que también funciona bien en arcos de círculo (incompletos). (esta idea, por supuesto, solo es aplicable a las píldoras redondas)

penelope
fuente
¿Cuál sería una buena idea para una segmentación no perfecta?
GamingX
@Syed Parece OpenCV Canny (detección de bordes) e incluso Hough funciona en imágenes grises (sin necesidad de umbral), por lo que puede omitir el paso de umbral todo junto. El umbral: la segmentación depende en gran medida de las imágenes. Pero, una respuesta directa sería: lo siento, no sé. Creo que un método no adaptativo sería suficiente, pero no podría sugerir uno específico ya que no lo hice por un tiempo. Solo investigue un poco sobre métodos de segmentación simples ;)
penelope
2

Las transformaciones de círculo de la biblioteca OpenCV son adecuadas para esta aplicación. Tendrá que ejecutar varios radios, pero la mejor respuesta rápida le dará los límites y centros de las píldoras. Tenga en cuenta que tendría que usar transformaciones de tos generalizadas para encontrar píldoras no circulares. Funcionará incluso si las píldoras tienen puntos de borde ocluidos o faltantes.

El umbral puede ser una mala solución para esto porque en el campo puede caer en situaciones en las que ningún umbral separará la píldora del fondo, por lo que un algoritmo que depende de las posiciones relativas de los grupos de bordes es superior.

grado
fuente
1

Para resolver este problema, debe separar el fondo y el primer plano. Esta es la solución, te propongo:

1) convertir la imagen de Rgb a escala de grises; Obtendrá una imagen que llamamos I1;

2) aplique un filtro morfológico, erosión usando un radio grande, eventualmente varias veces ==> debe borrar la píldora por erosión y obtener solo el fondo; Obtendrá una nueva imagen I2;

3) restar I2a I1, obtendrá el primer plano, es decir, la píldora;

4) aplique otro filtro morfológico para llenar cualquier agujero en la píldora que obtuvo;

5) aplique un filtro morfológico, erosión, radio pequeño para eliminar cualquier píxel aislado.

Este método no requiere ningún umbral, detección de forma, segmentación de color o cualquier otra cosa.

samir
fuente