En la imagen que se muestra a continuación, tengo un conjunto de datos 2D donde identifiqué cuatro grupos etiquetados [0,1,2,3]
. Estoy buscando un algoritmo para colocar las etiquetas de forma natural * para cada forma. Mi primera suposición fue colocarlos en el "centro de masa" del grupo, que se muestra a continuación. Para grupos contiguos esto funciona bien. 0
Sin embargo, para los grupos que toman forma como en el grupo , el enfoque falla. Sin usar una leyenda, ¿cuál sería un mejor método para colocar las etiquetas en esta imagen?
* natural aquí es subjetivo hasta cierto punto, pero el objetivo de las etiquetas es ayudar al espectador a asociar una determinada región en el plano xy con un número.
image-processing
edge-detection
Enganchado
fuente
fuente
Respuestas:
¿Qué hay de poner la etiqueta en el punto más interno del segmento? Definamos más interno por el máximo de la transformación de distancia de la máscara del segmento.
Con sistemas de software como Mathematica y similares, es fácil de lograr.
La máscara para un segmento y su distancia se transforman:
Después de repetir para cada segmento y colocar etiquetas donde las transformaciones de distancia individuales son máximas:
fuente
Considero que el lugar ideal para colocar la etiqueta debe cumplir dos objetivos:
Ergo, podemos determinar el punto ideal minimizando una métrica holística como o , donde es el parámetro de compensación. l + α d αl×dα l+αd α
Determinar es sencillo. se puede ajustar a la variación total (o alguna otra medida del nivel de detalle) bajo el área ocupada por la etiqueta. Puede establecer esto en un número alto en regiones fuera del segmento para evitar el problema en su ejemplo.ld l
El resto es optimización numérica.
fuente