Premièrement, je ne vois pas vraiment l'intérêt de faire une comparaison entre screenshots.
D'une part, tu risques d'oublier toute une partie de ta page (si elle est plus grande que la surface affichée par ton navigateur).
D'autre part, tu as un accès direct au contenu lui-même. En effet, logiquement, un même navigateur n'affichera pas de deux manières différentes un même code html.
Dans ces conditions, le mieux à mon avis est de faire un diff sur les deux pages. Tu peux même pousser plus loin dans ton analyse en vérifiant la cohérence des éléments binaires de ta page web (images, sons...) par exemple par une signature md5.
Maintenant, si tu tiens à passer par l'image (pourquoi faire simple quand on peut faire compliqué), tout dépend de ce que tu veux faire.
Si tu veux avoir une idée de la différence, une simple différence d'image peut-être utilisée. Ca se fait très facilement :
for (i de 0 à w)
do
for (j de 0 à h)
do
diff(i,j) = img1(i,j) - img2(i,j)
done
done
Tu peux aussi vouloir faire plus compliqué.
Rechercher dans un premier temps la cohérence générale entre les deux images à comparer. A ce moment là, une segmentation à basse résolution de l'image devrait te permettre d'extraire les différents blocs "graphiques" de ton image (dans le cas de linuxfr, les blocs de texte, les boîtes lattérales...), et ainsi de faire une première comparaison : y a t'il de grandes similitudes ou non et si oui, dans quelles zones. Là tu vas plutôt comparer l'organisation fonctionnelle des deux pages.
Tu peux ensuite passer à une autre étape et analyser plus finement le contenu des différents blocs détectés : s'agit-il de texte ou de graphique, éventuellement la taille du texte... tu peux même aller jusqu'à faire de l'ocr si tu veux.
# pas vraiment simple
Posté par Thomas MARTIN . En réponse au journal Distance entre deux images.... Évalué à 2.
D'une part, tu risques d'oublier toute une partie de ta page (si elle est plus grande que la surface affichée par ton navigateur).
D'autre part, tu as un accès direct au contenu lui-même. En effet, logiquement, un même navigateur n'affichera pas de deux manières différentes un même code html.
Dans ces conditions, le mieux à mon avis est de faire un diff sur les deux pages. Tu peux même pousser plus loin dans ton analyse en vérifiant la cohérence des éléments binaires de ta page web (images, sons...) par exemple par une signature md5.
Maintenant, si tu tiens à passer par l'image (pourquoi faire simple quand on peut faire compliqué), tout dépend de ce que tu veux faire.
Si tu veux avoir une idée de la différence, une simple différence d'image peut-être utilisée. Ca se fait très facilement :
for (i de 0 à w)
do
for (j de 0 à h)
do
diff(i,j) = img1(i,j) - img2(i,j)
done
done
Tu peux aussi vouloir faire plus compliqué.
Rechercher dans un premier temps la cohérence générale entre les deux images à comparer. A ce moment là, une segmentation à basse résolution de l'image devrait te permettre d'extraire les différents blocs "graphiques" de ton image (dans le cas de linuxfr, les blocs de texte, les boîtes lattérales...), et ainsi de faire une première comparaison : y a t'il de grandes similitudes ou non et si oui, dans quelles zones. Là tu vas plutôt comparer l'organisation fonctionnelle des deux pages.
Tu peux ensuite passer à une autre étape et analyser plus finement le contenu des différents blocs détectés : s'agit-il de texte ou de graphique, éventuellement la taille du texte... tu peux même aller jusqu'à faire de l'ocr si tu veux.
Si t'as vraiment envie de jouer et que tu te débrouilles en C++, je te conseille cimg ( http://cimg.sourceforge.net(...) )