Comparaison de bytes d images

Résolu
cs_danyclassique
Messages postés
94
Date d'inscription
samedi 1 décembre 2007
Statut
Membre
Dernière intervention
7 novembre 2010
- 14 mars 2008 à 13:22
cs_danyclassique
Messages postés
94
Date d'inscription
samedi 1 décembre 2007
Statut
Membre
Dernière intervention
7 novembre 2010
- 3 juin 2009 à 16:57
Bonjour a tous.
J aurai voulu savoir si quelqu un connait une methode  pour comparer 2 tableaux de bytes contenant chacun
les paquets de bytes d une image
exemple:
byte[]b //contient une image;
byte[]b2 //contient une autre image;
puis en extraire la difference  qui ensuite sera affichee  dans une picturebox
Je pense que vous avez compris son sens;

Merci d avance;

25 réponses

taupe4
Messages postés
91
Date d'inscription
dimanche 16 avril 2006
Statut
Membre
Dernière intervention
17 avril 2008
1
17 mars 2008 à 03:52
Oui c'est normal, il faut aller dans les propriétés de ton projet, dans l'onglet générer, et cocher Permettre le code unsafe pour toutes les configurations.

En second lieu, il faut que tu t'assures que ton bitmap dans lequel tu mets BitBlt soit défini comme suit:
Bitmap monBitmap = new Bitmap(width, height, PixelFormat.Format32bppRgb);

En dernier lieu, il est faisable d'implémenter ce code, car j'ai fait un programme qui l'utilise et il fonctionne parfaitement.

Salut ^^
0
cs_danyclassique
Messages postés
94
Date d'inscription
samedi 1 décembre 2007
Statut
Membre
Dernière intervention
7 novembre 2010

17 mars 2008 à 12:41
Je comprend seulement je ne sais pas si ca peut s adapter sur la structure de mon programme car j ai une boucle true qui prend tout le temps une image differente mais le ik
c est comment en envoyer une puis au 2 eme passge en envoyer une autre et tout ca sur l unique et la meme action de ta fonction au meme instant
0
taupe4
Messages postés
91
Date d'inscription
dimanche 16 avril 2006
Statut
Membre
Dernière intervention
17 avril 2008
1
18 mars 2008 à 02:21
Tu conserves en tout temps 2 images en mémoire: L'image précédente et l'image courante.

Lors de la capture d'écran, tu libères les ressources de l'image précédente et tu met l'image courante dans la précédente. Tu alloues de nouvelles ressources pour une nouvelle image courante puis tu insères le résultat de BitBlt dedans. Une fois cela fait, il est fortement possible de comparer les images et d'envoyer les couleurs ayant changé ainsi que leur emplacement.

Pour le client, il conserve en permanence un bitmap. C'est à la fois son bitmap source et de référence.

Et, oui le programme peut utiliser la même boucle pour faire cela, j'ai un programme ici qui fait ce que tu veux faire et il a une boucle d'envoi identique.
0
cs_danyclassique
Messages postés
94
Date d'inscription
samedi 1 décembre 2007
Statut
Membre
Dernière intervention
7 novembre 2010

18 mars 2008 à 19:50
Salut david ,

reflexion fait je vais etre oblige d utiliser le unsafe car je ne vois pas d autres methodes rapide d execution pour la comparaison des 2 bitmaps.

De plus je n est pas eu connaissance de beaucoup de monde ayant fait ce genre de programme qui fonctionne sans la repetition de la capture d ecran sur elle meme comme on a vu hier sur le lien a part biensur vnc ou pc anywhere ou bien camstudio pour rester humble ,sachant que je rend la chose d autant plus difficile c est que je veut tester ce programme en local dans un picturebox ou autre sur le meme ordi et ne pas encore diffuser le webservices qui est deja pres d ailleur depuis longtemps

Pour la discution d hier mon programme fonctionne apparement comme tous les autres ,bien, et deja depuis le debut donc on reste au point de depart ,
mais je suis persuade qu au lieu d envoye toujours toute la 2 eme image il suffit d envoyer rien que les differences c est la qu intervient ta fammeuse fonction des pointeurs ainsi que celle de sharevb que j ai tres bien etudie avec un super tuto pour que je puisse etre a jour dans la comprehension de celle ci .
Alors j ai essaye de la remettre et j ai une erreur du genre

 lockbits est allready a la compilation


et impossible de continuer et j ai bien ajoute les unlockbits

En 2 eme temps et apres que celle ci fonctionnera c est la que je pourrai faire les differences et les ajouter dans un nouveau bitmap que j ajouterai ensuite dans ma picturebox ou form comme tu m a conseille .


dany.
0

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

Posez votre question
cs_danyclassique
Messages postés
94
Date d'inscription
samedi 1 décembre 2007
Statut
Membre
Dernière intervention
7 novembre 2010

3 juin 2009 à 16:57
salut taupe4,et share vb
mieux vaut tard que jamais
apres quelques temps je me suis remis sur ce projet que j avais laisse de cote faute de temps (emploi trouve comme developpeur moss).

J ai donc repris ce projet a mon inssue sans l obligation de mon ancien prof d universite,qui par ailleur ne nous avait vraiement pas dirrige sur la bonne voie avec les webservices et j ai alors utilise les sockets.
J ai tout dabord teste la transmission en envoyant un rectangle qui s incremente
a chaque envoi de paquets de bytes et a l ordi distant il recoit bien ce rectangle qui grandi grandi etc..
Maintenant j ai essaye avec les captures d ecran ca marche aussi mais evidement avec une lenteure extremme ce qui revient a reprendre la technique de difference d images que vous m aviez toi et sharevb suggeres
Je vais essayer de recreer l image en fonction du int difference en fin de fonction.
Je reviens vers vous des que j ai quelques chose de concret

cordialement

dany
0