AutoIt Français

Nouveau forum : http://www.autoitscript.fr/
 
AccueilFAQRechercherS'enregistrerMembresGroupesConnexionhttp://www.autoitscript.fr

Partagez | 
 

 Matrice

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
DidUngar
Membre avancé


Nombre de messages : 78
Date d'inscription : 02/04/2007

MessageSujet: Matrice   2007-05-05, 02:23

Je désire récupréré une matrice de pixel.

Exemple :
$tab[150][150]
$tab=Pixcolor($x,$y,$x+150,$y+150)


Ou j'aurez dans tab [5][1]
Le pixel en $x+5 et $y+1

Merci
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://didungar.com/
sylvanie
Modérateur
Modérateur


Nombre de messages : 300
Date d'inscription : 10/03/2007

MessageSujet: Re: Matrice   2007-05-06, 23:44

$N_MAX=150
$xpos=20 ; arbitraire
$ypos=30 ; idem
Dim $tab[$N_MAX][$N_MAX]
for $indx=0 to $N_MAX-1
For $indy=0 To $N_MAX-1
$tab[$indx][$indy]=PixelGetColor($xpos+$indx,$ypos+$indy)
Next
Next
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
DidUngar
Membre avancé


Nombre de messages : 78
Date d'inscription : 02/04/2007

MessageSujet: Re: Matrice   2007-05-07, 16:50

PixelGetColor($xpos+$indx,$ypos+$indy) Pourrez-t-il me renvoyer un tableaux de 3 arguement
Rouge Vert et Bleu ?

Avec des valeur comprise entre 0 et 255.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://didungar.com/
DidUngar
Membre avancé


Nombre de messages : 78
Date d'inscription : 02/04/2007

MessageSujet: Re: Matrice   2007-05-07, 18:10

C'est bon j'arrive a crée une image en ppm ( P3 donc color ^^ )
En faisant des cature d'ecrant c cool !

bon ba voila

Maintenant qui sait ou je peut trouver les mode d'eregistrement des images genre bmp ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://didungar.com/
sylvanie
Modérateur
Modérateur


Nombre de messages : 300
Date d'inscription : 10/03/2007

MessageSujet: Re: Matrice   2007-05-07, 21:36

Bravo !
Perso, je ne connaissais pas ce format avant que tu en parles.

Par contre pour ta question, c'est pour de la transformation d'image existant où c'est plutôt faire un screenshot en bmp ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
DidUngar
Membre avancé


Nombre de messages : 78
Date d'inscription : 02/04/2007

MessageSujet: Re: Matrice   2007-05-09, 15:07

Ni l'un ni l'autre.
C'est pour chopper une partie de l'ecrant directement et pouvoir l'etudier.
Le ppm color ( P3 ) est un format trés lourd mais trés simple du'ilisation.
Comme je n'ai que 50 Image de 100 / 100 Pixel je pe me le permettre.


On va dire que je cherche a faire une capture d'ecrant sans logiciel intermediaire.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://didungar.com/
sylvanie
Modérateur
Modérateur


Nombre de messages : 300
Date d'inscription : 10/03/2007

MessageSujet: Re: Matrice   2007-05-09, 20:33

regarde ce topic

http://autoit-fr.realbb.net/AutoIt-v3-c2/Entraide-f5/Capture-ecran-Resolu-t250.htm

Il y a deux méthode, une avec mspaint, et l'autre avec captdll.dll (dont tu trouveras un liens)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
DidUngar
Membre avancé


Nombre de messages : 78
Date d'inscription : 02/04/2007

MessageSujet: Re: Matrice   2007-05-10, 15:11

Je sais je les est lu.
Mais ni l'une ni l'autre ne me convient.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://didungar.com/
ani
Modérateur
Modérateur


Nombre de messages : 563
Date d'inscription : 23/01/2007

MessageSujet: Re: Matrice   2007-05-10, 16:23

c'est pour çà que je bloque les dll pour justement pouvoir faire des screen sans passer par le paint
vm_copy vers destination[dossier]
faut juste trouvait qui pour la destination(meme si j'ai trouvé, faut le temp que je comprenne les manip après sa sera du gâteau enfin voilà

ton systeme faudrai que tu me l'envoi juste pour regarder même si j'en comprendrai absolument rien

sinon tantôt, j'ai réflechis (sa arrive) ,du pourquoi ça ne faisait pas ce que désiré as-tu cibler ton navigateur , niveau class?

pour qu'un script fonctionne faut le wingethandle comme çà pas de problème de ciblage même avec le pixel

[b]si je suis dans l'erreur merci de me prévenir ou de corriger[/b]

Dès que j'aurai réussi mon idée,je te le send , faut utiliser le eventkeyboard quand même (printprintscreen) :p


Dernière édition par le 2007-05-10, 17:01, édité 1 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
DidUngar
Membre avancé


Nombre de messages : 78
Date d'inscription : 02/04/2007

MessageSujet: Re: Matrice   2007-05-10, 16:35

$old = FileRead ( "./test.ppm" )


Func firefox_is()

Return ( StringInStr( WinGetTitle(""), "Mozilla Firefox" )<>0 )

EndFunc


Func firefox_wait()

While (firefox_is()<>True)

Sleep(5)

WEnd

EndFunc

firefox_wait()
Sleep(250)
Beep()




$sizeX=10
$sizeY=20

$xpos=136 ; arbitraire
$ypos=494 ; idem

Dim $tab[$sizeX][$sizeY]


For $x_act=0 to $sizeX-1
For $y_act=0 To $sizeY-1
$tab[$x_act][$y_act]=PixelGetColor($xpos+$x_act,$ypos+$y_act)
Next
Next



Func ppm_3($sizeX,$sizeY,$tab)
$ppm =""; Declaration
$ppm &="P3" & @CRLF
$ppm &="# Img" & @CRLF
$ppm &=$sizeX & " " & $sizeY & @CRLF
$ppm &="255" & @CRLF; Quantité de couleur

For $y_act=0 to $sizeY-1
For $x_act=0 To $sizeX-1
If ($x_act<>0) Then
$ppm &= @TAB
Else
If ($y_act<>0) Then
$ppm &= @CRLF
EndIf
Endif
$ppm &= Mod(Int($tab[$x_act][$y_act]/256/256),256) &" " ; Rouge
$ppm &= Mod(Int($tab[$x_act][$y_act]/256),256) &" " ; Vert
$ppm &= Mod($tab[$x_act][$y_act],256) ; Bleu
Next
Next

Return $ppm
EndFunc




Func ppm_2($sizeX,$sizeY,$tab)
$ppm =""; Declaration
$ppm &="P2" & @CRLF
$ppm &="# Img" & @CRLF
$ppm &=$sizeX & " " & $sizeY & @CRLF
$ppm &="1" & @CRLF; Quantité de couleur

For $y_act=0 to $sizeY-1
For $x_act=0 To $sizeX-1
If ($x_act<>0) Then
$ppm &= @TAB
Else
If ($y_act<>0) Then
$ppm &= @CRLF
EndIf
Endif
$color_R =Mod(Int($tab[$x_act][$y_act]/256/256),256) * 0.3; Rouge
$color_V =Mod(Int($tab[$x_act][$y_act]/256),256) ; Vert
$color_B =Mod($tab[$x_act][$y_act],256) ; Bleu
$color_ = $color_R*0.3 + $color_V*0.59 + $color_B*0.11
If ( $color_>(255/2) ) Then
$color=1
Else
$color=0
EndIf
$ppm &= $color
Next
Next

Return $ppm
EndFunc

MsgBox(0,"",$old)

;$ppm=ppm_3($sizeX,$sizeY,$tab)
;$ppm=ppm_2($sizeX,$sizeY,$tab)
$ppm=ppm_2($sizeX,$sizeY,$tab)
MsgBox(0,"",$ppm)
MsgBox(0,"ppm2 ?",$old==$ppm)

$name="test"

If FileExists("./" & $name & ".txt") Then
FileDelete ( "./" & $name & ".txt" )
EndIf
If FileExists("./" & $name & ".ppm") Then
FileDelete ( "./" & $name & ".ppm" )
EndIf

FileWrite ( "./" & $name & ".txt", $ppm )
FileWrite ( "./" & $name & ".ppm", $ppm )
;MsgBox(0,"",$ppm)

Beep()
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://didungar.com/
DidUngar
Membre avancé


Nombre de messages : 78
Date d'inscription : 02/04/2007

MessageSujet: Re: Matrice   2007-05-10, 16:37

Je suis entraint de me crée un fichier pour la gestion des images comme mes autre fichier .au3
( http://didungar.com/script/ )
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://didungar.com/
ani
Modérateur
Modérateur


Nombre de messages : 563
Date d'inscription : 23/01/2007

MessageSujet: Re: Matrice   2007-05-10, 16:53

ok

sinon dans un post précedent j'avais répondu une parti

[url=http://autoit-fr.realbb.net/AutoIt-v3-c2/Entraide-f5/Probleme-envoi-ecranRESOLU-p447.htm?highlight=#447]clicker sur moi :)[/url]

bon je vais visionner le code en couleur
et retourner chez moi pour blocker mon wifi grrrr (quelq'un aurait une idée pour deconnecter des utilisateur non voulu?)
vais chercher
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
DidUngar
Membre avancé


Nombre de messages : 78
Date d'inscription : 02/04/2007

MessageSujet: Re: Matrice   2007-05-10, 17:17

[quote:8a3f="ani"]ok

sinon dans un post précedent j'avais répondu une parti

[url=http://autoit-fr.realbb.net/AutoIt-v3-c2/Entraide-f5/Probleme-envoi-ecranRESOLU-p447.htm?highlight=#447]clicker sur moi :)[/url]

bon je vais visionner le code en couleur
et retourner chez moi pour blocker mon wifi grrrr (quelq'un aurait une idée pour deconnecter des utilisateur non voulu?)
vais chercher ;)[/quote]

Change ta clef.
Tout le monde sera deconnecter.
Aprés redonne la clef a se que tu accepte.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://didungar.com/
ani
Modérateur
Modérateur


Nombre de messages : 563
Date d'inscription : 23/01/2007

MessageSujet: Re: Matrice   2007-05-10, 19:47

vla un lien utile (user32/shell32/gdi32)

[url=http://www.autoitscript.com/forum/index.php?showtopic=27867]topic[/url] <<click

notre bonheur
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
sylvanie
Modérateur
Modérateur


Nombre de messages : 300
Date d'inscription : 10/03/2007

MessageSujet: Re: Matrice   2007-05-10, 20:27

Pour les valeur RVB, comme il s'agit de dicisions par 256, fait plutôt des décalage de bits à la place, cf l'extrait ci dessous pour voir la différence de tps

$color=PixelGetColor(550,50)
$ppm=""
$begin = TimerInit()
$ppm &= Mod(Int($color/256/256),256) &" " ; Rouge
$ppm &= Mod(Int($color/256),256) &" " ; Vert
$ppm &= Mod($color,256) ; Bleu
$dif = TimerDiff($begin)
ConsoleWrite($ppm&" "&$dif&@CRLF)

$ppm=""
$begin = TimerInit()
$ppm &= BitShift($color,16 )&" "
$ppm &= BitAND(BitShift($color,8 ),0xff)&" "
$ppm &= BitAND($color,0xff )
$dif = TimerDiff($begin)
ConsoleWrite($ppm&" "&$dif&@CRLF)


sur ma machine le calcul mets 2 fois moins de tps, vu que ce calcul est à l'intéreure d'une dble boucle, ça va s'en ressentir
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
DidUngar
Membre avancé


Nombre de messages : 78
Date d'inscription : 02/04/2007

MessageSujet: Re: Matrice   2007-05-10, 20:31

Normal il y as 2 fois moin de calcul.



J'ai remarquer que en mettant une latance ca marcher, c'est donc windows qui ramer.


Mais pour le moment je me fout un pe de la puissance requise je cherche a avoir une comparaison.
Entre 2 chaine identique. ( car old et ppm sont identique, et j'obtient un resultat faux )
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://didungar.com/
DidUngar
Membre avancé


Nombre de messages : 78
Date d'inscription : 02/04/2007

MessageSujet: Re: Matrice   2007-05-10, 20:34

[quote:dda6="ani"]vla un lien utile (user32/shell32/gdi32)

[url=http://www.autoitscript.com/forum/index.php?showtopic=27867]topic[/url] <

notre bonheur :)[/quote]

Ce n'est toujours pas se que je cherche.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://didungar.com/
sylvanie
Modérateur
Modérateur


Nombre de messages : 300
Date d'inscription : 10/03/2007

MessageSujet: Re: Matrice   2007-05-10, 20:35

[quote:35e4="DidUngar"]Normal il y as 2 fois moin de calcul.

[/quote]

non non, c'est tout simplement qu'un décalage binaire et un et logique sont beaucoups moins coûteux qu'une division.

Bon après effectivement c'est une question d'objectif.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
ani
Modérateur
Modérateur


Nombre de messages : 563
Date d'inscription : 23/01/2007

MessageSujet: Re: Matrice   2007-05-10, 20:39

je sais bien que tu en veut pas du pack dll mais si t'a lu le lien microsoft pour le screen (surtout qui a le code) le pack servira enfin voilà ...

ce topic me plait bien merci did
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
DidUngar
Membre avancé


Nombre de messages : 78
Date d'inscription : 02/04/2007

MessageSujet: Re: Matrice   2007-05-11, 15:31

[quote:f771="DidUngar"][quote:f771="ani"]vla un lien utile (user32/shell32/gdi32)

[url=http://www.autoitscript.com/forum/index.php?showtopic=27867]topic[/url] <

notre bonheur :)[/quote]

Ce n'est toujours pas se que je cherche.[/quote]
Non ce n'est pas se que je cherche.

je désire juste des informations sur les type de format et sur l'ecriture binaire.



[quote:f771="sylvanie"][quote:f771="DidUngar"]Normal il y as 2 fois moin de calcul.

[/quote]

non non, c'est tout simplement qu'un décalage binaire et un et logique sont beaucoups moins coûteux qu'une division.

Bon après effectivement c'est une question d'objectif.[/quote]
Non je t'assure que c'est le Même temp de calcul.

En faite on travail avec des porte logique et des cablages.
Et comme on fait les calcul en paralléle les 2 mode de calcul proposer sont equivant.

Methode calculatoire :
1 Calcul revient a 1 decalage + 1 serie de porte paralléle.
Soit 2 t

Methode par masque :
1 daclage + 1 filtre soit 1 serie de porte ou.
Soit 2 t.

J'ai fait ca en electronique.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://didungar.com/
sylvanie
Modérateur
Modérateur


Nombre de messages : 300
Date d'inscription : 10/03/2007

MessageSujet: Re: Matrice   2007-05-11, 21:43

c'est quoi l'architecture en question ?

Dans le cas d'un Intel p4 en moyenne,
pour 1 DIV sur 32 bits on a 70 cycles de latence et 23 de débit
pour 1 décalage ona 4 cycles de latence et 1 de débit

et ce genre de ratio je l'ai vu un paquet de fois sur AMD et ARM, d'ailleur la pluspart des compilos remplacent les multiplications par puissance de 2 est division par ce procédé pour optimiser
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
DidUngar
Membre avancé


Nombre de messages : 78
Date d'inscription : 02/04/2007

MessageSujet: Re: Matrice   2007-05-12, 04:42

Les puissances ne sont pas de simple multiplication.

2pow3 --> 2*2*2 Or 2 <<3
Donc dans ce cas la oui c'est nettement plus rapide.
Car le temp est constant pour le decalage mais pas pour la puissance.

Tu remplace quand même plusieur multiplication ^^
Mais c'est sur qu'il faut etiduez chaque cas en particulier.
Quoi qu'il en soit pour le moment j'optimiserai plus tard.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://didungar.com/
Contenu sponsorisé




MessageSujet: Re: Matrice   Aujourd'hui à 17:16

Revenir en haut Aller en bas
 
Matrice
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Matrice
» Convertion au numérique et RRTC
» [Tutoriel]Initiation au traitement d'images numériques
» [Bibliothèque C++] POLDER
» Problème d'affichage tableau

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
AutoIt Français :: AutoIt v3 :: Entraide-
Sauter vers: