Comparer deux images

95175364 Messages postés 8 Date d'inscription samedi 21 février 2004 Statut Membre Dernière intervention 26 février 2006 - 24 févr. 2006 à 20:21
Solsker Messages postés 2 Date d'inscription samedi 25 février 2006 Statut Membre Dernière intervention 17 avril 2008 - 28 févr. 2006 à 16:32
comment faire pour comparer deux images?
une idée,une source ,un lien....
remarque :sous visual c++

6 réponses

SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
24 févr. 2006 à 22:36
Bien tu pourrais utiliser GetPixel en boucle et stocker les couleurs dans un tableau DWORD jusqu'a ce que toute ta premier image son scanner. La même chose pour la seconde et comparer les deux tabeaux.
0
cs_Joky Messages postés 1787 Date d'inscription lundi 22 novembre 2004 Statut Membre Dernière intervention 31 janvier 2009 2
25 févr. 2006 à 14:27
Bé moi je testerai déjà la largeur et la hauteur des 2 images,

si différent, on peut passer notre chemin, sinon

Tu récupères les pixel jusque temps que tu en trouves un différent



Par exemple



Tant que l'image n'est pas scanner en entier

Comparer Pixel(x,y) Image 1 et Pixel(x,y) Image 2

Si pareil, on continue, si différent, on peut arrété

Fin Tant que

if(!Meilleur("Joky")) return ERREUR;<
0
platon179 Messages postés 237 Date d'inscription lundi 20 mai 2002 Statut Membre Dernière intervention 22 juillet 2011 2
25 févr. 2006 à 14:47
Salut,

Tu peux essayer de trouver la "distance" séparant deux images... Par exemple, tu fais la somme des différences des couleurs de deux pixels au meme endroit (si les images sont de meme dimension bien sur...Si elles n'ont pas la meme taille, elles ne sont pas identiques, comme l'a dit Joky...). Si tu trouves 0, les deux images sont 100% identiques... Sinon, plus la somme est grande, plus les images sont différentes...

int total=0:
for(int i=0; i<x; i++)
for(int j=0; j<y; j++)
total += (image2[i][j] - image1[i][j]);

@+
0
luhtor Messages postés 2023 Date d'inscription mardi 24 septembre 2002 Statut Membre Dernière intervention 28 juillet 2008 6
25 févr. 2006 à 15:06
platon179 => le truc que tu proposes n'est pas une norme. N(x) = 0 n'implique pas x = 0 dans ton truc.



int total=0:

for(int i=0; i<x; i++)

for(int j=0; j<y; j++)

total += abs(image2[i][j] - image1[i][j]);

Ca, ca l'est. Mais je sais pas si ca a un intéret de formaliser ce problème :)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
95175364 Messages postés 8 Date d'inscription samedi 21 février 2004 Statut Membre Dernière intervention 26 février 2006
26 févr. 2006 à 16:06
merci a tous pour m'avoir repondu si vite.mais c'est encore confus pour moi.
il y a un exemple,un lien ou un morceau de code?
0
Solsker Messages postés 2 Date d'inscription samedi 25 février 2006 Statut Membre Dernière intervention 17 avril 2008
28 févr. 2006 à 16:32
Salut à tous, je suis nouveau sur ce site, qui est par ailleurs très complet.
Je suis actuellemnt étudiant en informatique, donc un novice. J'ai le meme probleme pour comparer deux images prise par une camera. Je voudrait donc savoir si quelqu'un pourrait m'aider car je suis vraiment bloquer. Au fait pour info, je programme avec borland c++. Merci d'avance.
0
Rejoignez-nous