JavaRush /Blog Java /Random-FR /Trouver le centre d'une figure irrégulière sur un plan
fatfaggy
Niveau 26
Киев

Trouver le centre d'une figure irrégulière sur un plan

Publié dans le groupe Random-FR
Salut tout le monde. Je résous un problème simple en ce moment. La condition ressemble à ceci :
Étant donné une matrice (tableau bidimensionnel), dans laquelle chaque élément représente un pixel. Les pixels peuvent être rouges, noirs ou d’une autre couleur. Il est nécessaire de mettre en œuvre une recherche de l'effet yeux rouges dans l'image. Si le centre des pixels noirs coïncide avec le centre des pixels rouges, alors nous avons trouvé un œil rouge.
On suppose que les limites de la plage des pixels rouges sont plus larges que les limites de la plage des pixels noirs. De plus, les options ne sont pas prises en compte si l'image contient des pixels rouges et noirs en dehors de « l'œil ». Tout ce qui se trouve en dehors de « l’œil » sera d’une couleur différente. J'avais prévu de l'implémenter en utilisant (approximativement) cet algorithme. Deux boucles, l'une imbriquée dans l'autre. L'un passe par X, l'autre par Y. Dès que l'on trouve le pixel rouge, on fixe ses coordonnées comme initiales et on cherche les coordonnées finales. Dès qu'il s'avère que les pixels rouges n'apparaissent plus, nous fixons le dernier pixel rouge rencontré comme coordonnées finales de la plage de pixels rouges. Idem avec les pixels noirs. Ensuite, nous divisons les plages en deux et trouvons les centres. Un tel algorithme fonctionnera plutôt bien avec des figures de forme plus ou moins régulière (cercle). Et ici, j'ai décidé de compliquer ma tâche)) À savoir, comprendre comment améliorer l'algorithme pour les formes irrégulières. Par exemple, si une personne a des problèmes de vision (à cause desquels la forme de l'œil peut être incorrecte), ou si la photo a été prise sous un angle, ou dans d'autres situations... Une recherche rapide m'a amené vers des articles Wikipédia sur le centre de masse et barycentre. Mais il y a tellement de langage effrayant et terrible là-bas que j'ai décidé de le mettre de côté pour le moment et de demander à la communauté comment vous mettriez cela en œuvre ? :)
Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION