2012-09-12 13 views
5

Tengo una imagen en blanco y negro después de la binarización. Después de eso obtengo un objeto con forma irregular. El enlace a esta imagen está debajo. ¿Cómo puedo inscribir este objeto en el círculo? o ¿Cómo puedo encontrar el "centro" de este objeto?¿Cómo puedo encontrar el centro del objeto?

http://s6.ifotos.pl/img/opticdisk_xhnrnwe.png

+0

¿Desea encontrar la línea más larga dibujable sobre el objeto y dibujar un círculo con la mitad de su longitud como radio? –

+0

Enlace roto para mí fyi - nunca carga ningún png – Pyrce

+0

@ tuğrulbüyükışık ¿Pensaría que el método de la "nieve" es simplemente promediar las posiciones de los píxeles "blancos"? –

Respuesta

1

Creo, que el centro del objeto se puede encontrar fácilmente como una media aritmética de coordenadas x e y. Si quieres reemplazarlo por un círculo, diría que el diámetro es el doble de la distancia media de todos los puntos al centro.

2

bueno, podría escanear de arriba hacia abajo el primer píxel blanco, luego de abajo hacia arriba para el píxel blanco más inferior, lo mismo para la izquierda y la derecha. eso te da un rectángulo. encontrar el centro del rectángulo es fácil (por ejemplo, izquierda + (derecha - izquierda)/2), y ese es el centro de tu círculo. luego encuentra la distancia a una esquina (cualquiera lo hará), y ese es el radio de tu círculo.

+0

Eso no produce el radio mínimo, creo. Considere el resultado de ese algoritmo contra un círculo blanco lleno. –

+0

De acuerdo, no ... pero el caso de uso puede no requerirlo; OP no dijo ... – mark

2

Esto suena como smallest circle problem en el conjunto de píxeles blancos. Se puede encontrar en tiempo lineal en el número de píxeles. Esto es lo mejor que obtendrá. Su entrada es solo una matriz de píxeles binarios.

9

Puede encontrar el centro de gravedad de los píxeles usando una fórmula simple que es la suma de las coordenadas x dividida por el número de puntos y la suma de las coordenadas y dividida por el número de puntos (me refiero puntos blancos).

Luego puede dibujar un círculo centrado en el centro de gravedad con la mitad de la distancia máxima entre los puntos.

Here Tiene una explicación gráfica para esto.

Cuestiones relacionadas