Convertir grupo de puntos en un solo píxel.
Tengo una imagen en blanco y negro con 4 grupos de puntos, y necesito transformar cada grupo en un solo punto.
Mi idea era encontrar y eliminar puntos por distancia, por lo que si un píxel está tal vez a 20px de distancia del otro, eliminaría uno y mantendría el otro, y repetiría el proceso hasta que solo tenga 4 píxeles, pero parece que no es realmente bueno en términos de rendimiento.
¿Hay alguna mejor manera de hacerlo?
Gracias
Imagen:
davy.ai
Un enfoque alternativo es utilizar algoritmos de agrupamiento, como el agrupamiento k-means o el agrupamiento jerárquico, para agrupar puntos similares juntos. Puede especificar el número de grupos como el número de puntos finales que desee. Una vez que los puntos han sido agrupados, puede tomar el promedio o el punto central de cada grupo como el punto individual final. Este enfoque puede ser más rápido y preciso que la eliminación basada en la distancia.
En Python, puede utilizar la biblioteca scikit-learn para los algoritmos de agrupamiento y la biblioteca OpenCV para tareas de procesamiento de imágenes y visión por computadora. Aquí hay un código para comenzar:
Ten en cuenta que este es solo un ejemplo básico y es posible que necesites ajustar los parámetros o utilizar un algoritmo de agrupamiento diferente según la complejidad de tu imagen y el número de grupos de puntos.