Esta fue la imagen obtenida después del filtrado de Gabor ... ¿Hay alguna forma de eliminar las líneas dentro de la imagen, excepto el defecto redondeado blanco brillante.
Intenté otra orientación del filtro gabor, vaya el siguiente resultado:
Después del umbral: lo cual está bien pero no es genial
Después del filtrado medio:
Gracias por adelantado
Respuestas:
Si la salida de su filtro Gábor es confiable y la variación en sus datos de imagen no es tan alta como para que el resultado se vea completamente diferente, entonces puede usar el siguiente enfoque (partes de él donde ya se mencionó):
Binarice su segunda imagen con cualquier algoritmo de umbral automático. El rango de umbrales que funcionará es grande como verá.
Use un algoritmo de etiquetado de componentes para etiquetar cada región de píxel conectada con un valor único.
Calcule para cada componente de su imagen una propiedad que describa qué tan cerca está su objeto de un círculo relleno. Para esto, puede usar, por ejemplo, la compacidad . Usé debajo de la fracción de píxeles dentro del radio de disco equivalente . Este radio es el radio de un disco con la misma área que tendría su objeto.
Para ver que una binarización automática debería funcionar, aquí están los resultados para un umbral muy bajo y muy alto:
Actualizar etiquetado de componentes
La elección del etiquetado de componentes no es crítica para su aplicación. Sugeriría, si tiene que implementarlo usted mismo, usar un método muy simple. La versión de un paso del sitio de Wikipedia es muy fácil. Básicamente, usted itera a través de su imagen binaria y cuando encuentra un píxel que es blanco y aún no está etiquetado, usa una nueva etiqueta para este objeto y comienza con este píxel.
El proceso de etiquetar este objeto con una etiqueta es básicamente similar a un relleno de inundación. Esto está en el sitio de Wikipedia los pasos internos 1-4 en el algoritmo. Comienza con este píxel etiquetado y coloca a todos sus vecinos en una pila (usaron un vector ). Para un píxel en la pila, verifica si está en primer plano y no está etiquetado. Si tiene que etiquetarlo, vuelve a poner todos sus vecinos en la pila. Haga esto hasta que su pila esté vacía.
Luego continúa escaneando la imagen. A diferencia de la descripción en el sitio Wiki, no tiene que eliminar un píxel de su imagen original, simplemente omite cuando tiene un valor diferente de 0 en su imagen de etiqueta.
fuente
Algunas ideas
EDITAR: después de su paso medio de filtrado, está casi todo el camino allí. ¡Buen trabajo! El ítem 2 que sugerí anteriormente (cierre, luego etiquetado de región) es una técnica para llevarlo el resto del camino.
fuente
Puedes probar contornos activos. Aunque puede ser lento, puede manejar casos complicados como este.
O puede utilizar algunos conocimientos previos para procesar esta imagen. Por ejemplo, usted sabe que la cosa blob es 'grande' y 'conectada'. Por lo tanto, cuando cuenta el número de cada región conectada, puede encontrarlo.
fuente