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?
Respuesta
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.
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.
Eso no produce el radio mínimo, creo. Considere el resultado de ese algoritmo contra un círculo blanco lleno. –
De acuerdo, no ... pero el caso de uso puede no requerirlo; OP no dijo ... – mark
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.
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.
- 1. ¿Cómo encontrar el centro Coordinate of Rectangle?
- 2. Error esperado del objeto Page_ClientValidate(), no puedo encontrar el validador
- 3. Encontrar el centro de un clúster
- 4. rotar cammera alrededor del centro del objeto wpf
- 5. En Selenio, ¿cómo puedo encontrar el objeto "Actual"
- 6. ¿Cómo puedo encontrar el PROPIETARIO de un objeto en Oracle?
- 7. Encontrar serialVersionUID del objeto serializado
- 8. Cómo encontrar las coordenadas del centro x del elemento y la compensación de la ventana relacionada
- 9. Centro de búsqueda del árbol
- 10. ¿Cómo puedo encontrar el centro de una serie de puntos geográficos?
- 11. Encontrar el centro de un elemento en wpf
- 12. jQuery tablesorter cómo encontrar el objeto sortList
- 13. cómo alinear mi imagen en el centro del IOS horizontal
- 14. Centro iTextSharp alinea objetos dentro del objeto Documento
- 15. ¿Puedo borrar el contexto del objeto administrado?
- 16. Encontrar el centro de múltiples ubicaciones en Google Maps
- 17. jQuery ~ Cómo animar el ancho y alto de la caja desde el centro del centro
- 18. centro documentView en el centro de NSScrollView
- 19. ¿Cómo puedo cargar un KML en el mapa de Google, sin cambiar el centro del mapa
- 20. Cómo obtener el centro del conjunto de puntos usando Python
- 21. Recortar imagen del centro PHP
- 22. Offset div del centro
- 23. ¿Cómo centrar elementos en BoxLayout usando el centro del elemento?
- 24. Dado un objeto javascript arbitrario, ¿cómo puedo encontrar sus métodos?
- 25. ¿cómo puedo manejar el resultado del objeto de comparación?
- 26. ¿Cómo puedo resaltar el texto del objeto Rango DOM?
- 27. Establecer la gravedad del título en el centro en ActionBarSherlock
- 28. ¿Cómo puedo integrarme con el mantenimiento del Centro de Acción de Windows?
- 29. ¿Cómo encontrar las propiedades de un objeto?
- 30. ¿Cómo puedo encontrar el servidor DNS actual?
¿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? –
Enlace roto para mí fyi - nunca carga ningún png – Pyrce
@ tuğrulbüyükışık ¿Pensaría que el método de la "nieve" es simplemente promediar las posiciones de los píxeles "blancos"? –