[R] Pixelchecksum (need help^^)

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
legend
Niveau 7
Niveau 7
Messages : 472
Enregistré le : dim. 26 sept. 2010 12:55
Status : Hors ligne

[R] Pixelchecksum (need help^^)

#1

Message par legend »

Bonjour,
Je voudrais apprendre la fonction pixelchecksum
je suis nouveau dans autoIT
j'ai entendu que cette fonction permet de verifier un ensemble de pixels (image)
Quelqun peut m'expliquer plus et m'apprendre les bases pour l'utiliser svp?
Bonne journée a tous
Modifié en dernier par legend le sam. 02 oct. 2010 21:58, modifié 1 fois.
Avatar du membre
Jerome
Niveau 9
Niveau 9
Messages : 661
Enregistré le : mar. 07 avr. 2009 08:35
Localisation : Picardie
Status : Hors ligne

Re: [..] Pixelchecksum (need help^^)

#2

Message par Jerome »

Coucou,


La fonction PixelCheckSum permet sur un rectangle de pixel de faire une recherche qui déterminera si un pixel a changer dans le rectangle.

Le rectangle est définit par : left, top, right, bottom dans la fonction.

Left et top correspond au cordonnée x et y dans la coté haut gauche du rectangle et Right bottom le coté en bas a droite.

left = x
top = y
right = x
bottom = y


Pour plus d'information et des exemples, je vous conseille de vous rendre dans l'aide auto it et de tester le code de l'exemple.



Jérôme
Avatar du membre
legend
Niveau 7
Niveau 7
Messages : 472
Enregistré le : dim. 26 sept. 2010 12:55
Status : Hors ligne

Re: [..] Pixelchecksum (need help^^)

#3

Message par legend »

Bonjour
Mais aprés avoir choisis la zone, il faut faire quoi?
comment utiliser cette fonction pour (par exemple) démmarer une action lorsque les pixels changent de couleur.
sinon est ce que c'est possible de choisir une image de mon disque dur pour la comparer a l'image dans le rectangle?
Merci pour votre aide et bonne journée
Avatar du membre
Jerome
Niveau 9
Niveau 9
Messages : 661
Enregistré le : mar. 07 avr. 2009 08:35
Localisation : Picardie
Status : Hors ligne

Re: [..] Pixelchecksum (need help^^)

#4

Message par Jerome »

Coucou,

Pour la différence entre PixelCheckSum quand un pixel change, il te suffit de regarder l'exemple d'AutoIt.

Si tu veux utiliser une image de ton PC, celle- ci doit être au format BMP.
Tu peux faire ceci grâce à la fonction _ImageSearch.

Je te conseil de regarder ce topic. (attention aussi si tu es en 32 ou 64 bits, la Dll sera différentes. Cf le post sur AutoIt.com)



Jérôme
IsLaMalice
Niveau 4
Niveau 4
Messages : 50
Enregistré le : lun. 03 avr. 2017 23:31
Status : Hors ligne

Re: [R] Pixelchecksum (need help^^)

#5

Message par IsLaMalice »

Bonjour,

Quelqu'un sait a quoi correspond le nombre qui en ressort ?

pour l'avoir fait sur du noir, du gris, du blanc avec un pixel (retangle de 1 1) ou 2x2,


PixelGetColor(x,y)|404040|FFFFFF
PixelChecksum(x,y,1,1)|2554404463|2175271736
PixelChecksum(x,y, 2,2)|1620429793|2765820795

000000|C3C3C3
3810285479|3331376429
3023192103|4116653789




ça me donne des nombres incompréhensibles.
peut être fait exprès ? car le résultat est non bijectif, donc il ne faut pas tomber par hasard sur 2 nb pareil ?

Is
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11773
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [R] Pixelchecksum (need help^^)

#6

Message par Tlem »

Bonjour.
Pour infos, le "déterrage" d'un sujet vieux de 7 ans n'est pas quelque chose de très apprécié. ^^

Sinon, pour la réponse à votre question, Jerome donne le lien de la doc en ligne (US) de la commande ou tout y est expliqué.
Voici le lien vers la traduction Fr : https://www.autoitscript.fr/autoit3/doc ... ecksum.htm

Réponse à la première question : Retourne la valeur de la somme de contrôle de la région.
Réponse à la deuxième question : Le nombre correspond à la somme de contrôle ADLER-32

Si vous lisez bien la doc, vous verrez que vous pouvez aussi utiliser une somme de contrôle CRC-32.
Bref, dans la doc tout est indiqué. :P
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
IsLaMalice
Niveau 4
Niveau 4
Messages : 50
Enregistré le : lun. 03 avr. 2017 23:31
Status : Hors ligne

Re: [R] Pixelchecksum (need help^^)

#7

Message par IsLaMalice »

Bonsoir,

j'ai bien sur consulté l'aide, mais rien n'est expliqué sur le resultat

J'en ai trouvé plus ici :
https://fr.wikipedia.org/wiki/Adler-32
https://fr.wikipedia.org/wiki/Contr%C3% ... e_cyclique

Pour Adler :
La valeur Adler-32 est composée de deux checksum 16-bits s1 et s2.

s1 est initialisée à 1 et fait la somme des octets de données modulo 65521.
s2 est initialisée à 0 et fait la somme des valeurs successives de s1 modulo 65521.

La valeur finale 32 bits est obtenue en plaçant s2 dans les 16-bits de poids fort, et s1 dans les 16-bits de poids faibles.
Optimisation

En calculant s1 et s2 sur 32-bits, on peut factoriser le calcul du modulo 65521 tous les 5552 octets de données.

Si on calcule sur 16 bits, un moyen simple de faire une somme modulo 65521 est qu'en cas de retenue on ajoute 15 (qui est 2**16 modulo 65521), et encore 15 si une nouvelle retenue est générée. À la fin (quand il faut générer la somme de contrôle), si la valeur sur 16 bits dépasse 65521, on retranche 65521 de la valeur.
aie aie aie ca fait mal a la tete.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11773
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [R] Pixelchecksum (need help^^)

#8

Message par Tlem »

Bonjour.
Tout est une question de point de vue ...
Lorsque je lit la documentation, dans la section "Valeur de retour" j'ai :
  • Succès: Retourne la valeur de la somme de contrôle de la région.
    Échec: Retourne 0.
Et comme il est indiqué pour le paramètre "mode" : 0 = par défaut, somme de contrôle de ADLER, 1 = somme de contrôle CRC32.
Vous avez tous les éléments nécessaires pour la compréhension du nombre qui vous est retourné. :P

Après le fait de savoir en quoi consiste une somme de contrôle ADLER ou CRC32 n'est pas quelque chose qui incombe à AutoIt. ^^
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Répondre