Bonjour,
J'ai une idée d'algorithme en tête cependant j'aimerais bien avoir votre avis quand à sa fonctionnalité (ça marchera ou pas?)
Je souhaite reconnaître des cartes (images de 20*80 pixels) qui s'affiche sur mon écran à une position donnée.
Tout d'abord je constituerais une base de données des 52 cartes du jeu en relevant tous les 20*80 pixels de l'image grâce un GetPixel.
Ensuite une fois mis en fonctionnement mon programme relèvera 20*80 pixels de l'endroit ou sont les cartes (sur l'écran, on les prendra une par une (les cartes)) et les comparera à tour de rôles avec ceux de ma base de donnée (on compare d'abord avec l'as de pic puis l'as de coeur ...).
Par comparer j'entends : faire un GetPixel sur un point de l'image de l'écran, si sa valeur est identique au point de même coordonnées de la base de donnée alors j'incrémente un compteur de 1. Ensuite pour chaque carte je calcule le rapport point identique divisé par nombre point de l'image et je dis que ma carte de l'écran est celle ayant ce rapport le plus grand.
Mes questions sont :
Est ce que mes résultats seront cohérents sachant qu'il sera impossible de comparer exactement la même image que celle de la base de donnée (décalage de 1 ou 2 pixels possibles...)?
Ce décalage ne changera t il pas grand chose étant donné que mes cartes ne sont que de deux couleurs (rouge/noir et blanc)?
Comparer 20*80 pixels 104 (103, on ne peut pas avoir deux fois la même carte...) fois d'afillés (52*2), combien de temps cela va t il prendre?
Merci d'avance de votre attention![]()
Partager