Aide au traitement automatique côté pc¶
En décidant d'automatiser le redimensionnement de l’image et le redressement, nous avons dû faire appel au pc puisque le smartphone avait besoin de connaître les coins de la grille. De plus, cela permettait au pc d'avoir un moyen de reconnaissance de la grille, utile dans le processus à venir, et qui enlevait la dépendance d'une action utilisateur pour définir la taille de la grille de jeu.
Pour trouver ces coins, l’application affiche une fenêtre blanche où quatre carrés de couleurs différentes sont placés à chacune des positions des coins de la grille. L'application pc affiche une page blanche en plein écran pour que le smartphone, qui doit prendre une photo, détecte bien les carrés de chaque couleur, et ne les confondent pas avec du décor.
Figure n°23 : automatisation du traitement
L'application coté pc doit déterminer la position de ces carrés et pour cela, elle commence par prendre une capture d’écran et recherche la couleur du décor de fond de la grille de Candy Crush Saga. Puisque les grilles de ce jeu ne sont pas forcément carré nous avons dû faire quatre parcours de l'image, en haut, en bas, à gauche et à droite en partant du milieu pour trouver les premiers pixels qui sont de la couleur du fond de la grille de jeu. Nous avons utilisé une plage de couleur pour détecter la couleur du décor, car le fond de la grille est translucide et les couleurs du fond peuvent changer :
Figure n°24: exemple contour de la grille
C'est a dire que pour comparer les couleurs, nous allons parcourir l'image en partant de chacun des bords et récupérer les valeurs rouge, vert et bleu de chaque pixel et le premier pixel qui aura les valeurs comprisent dans la fourchette de valeur rouge vert bleu prédéfini sera considéré comme le contour de la grille. Cependant, afin d'être sur que c'est bien la bordure de la grille et non pas un pixel parasite, nous comparons également les pixels qui l'entourent.
Figure n°25 : Mécanisme de positionnement des points
Une fois ces quatre analyses faites, on récupere quatre données qui sont les coordonnées des bords trouvés de la grille, ainsi en connaissant la positon des côtés, on peut en déduire la valeur des positions des coins de la grille. Par exemple, « xhaut », « yhaut » sont les coordonnées du côté haut et « xgauche », « ygauche » sont les coordonnées du côté gauche, en gardant le « xgauche » et le « yhaut » on obtient le coin en haut à gauche.
Mis à jour par Anonyme il y a environ 10 ans · 3 révisions