IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++Builder Discussion :

Comparer deux images (100% identiques ou non)


Sujet :

C++Builder

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    145
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 145
    Points : 99
    Points
    99
    Par défaut Comparer deux images (100% identiques ou non)
    Bonsoir,

    J'aimerais comparer deux images (bmp par exemple) de même taille, mais dans tous les cas, elle seront soit 100% identiques (même compression, même qualité, même couleurs...) ou largement différentes.

    Y'a t-il un moyen simple d'effectuer cette comparaison ?

    Merci de votre aide.

  2. #2
    Membre chevronné
    Avatar de Crayon
    Inscrit en
    Avril 2005
    Messages
    1 811
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 811
    Points : 2 189
    Points
    2 189
    Par défaut
    Je ne pense pas qu'il y est de façon facile. Il faut comparer chacun des attributs des images.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Août 2006
    Messages
    145
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 145
    Points : 99
    Points
    99
    Par défaut
    Je viens de tomber sur ce topic : http://www.developpez.net/forums/arc.../t-320856.html
    Qui je le pense résout tous mes problèmes
    Je testerais dans le courant de la semaine, et si ça ne marche pas, je reviendrais m'exprimer

    Merci quand même.

  4. #4
    Membre averti

    Profil pro
    Inscrit en
    Juin 2005
    Messages
    351
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2005
    Messages : 351
    Points : 446
    Points
    446
    Par défaut
    Salut,

    J'ai lu le post que tu as indiqué et j'ai constaté que toutes les solutions visent à comparer, octet par octet les pixels avec deux boucles imbriquées.

    Il serait peut-être plus rapide (à vérifier) de comparer directement les segments mémoires avec une fonction très rapide comme memcmp().

    Maintenant, il faut voir si tu peux appliquer cette fonction sur l'entier de l'image (utilisation d'un seul bloc mémoire contigu) ou si les lignes peuvent être stockées dans des blocs mémoires séparés. Je penche pour le premier cas, ce qui réduirait la comparaison à qqch comme ça (code non testé):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    if (Bitmap1->Height!=Bitmap2->Height)||(Bitmap1->Width!=Bitmap2->Width)) return false;
    int size=Bitmap1->Height*Bitmap1->Width*3;  // 3 octets par pixels
    return (memcmp(Bitmap1->ScanLine[0],Bitmap2->ScanLine[0],size)==NULL);
    Cette fonction retourne true si les images sont identiques et ne fonctionne que sur des images 24bits. Si les lignes peuvent être stockées dans des segments séparés, alors il faut simplement faire l'opération ligne par ligne.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comparer deux images binaires
    Par miss_angel dans le forum Images
    Réponses: 6
    Dernier message: 22/04/2008, 20h02
  2. Comparer deux images
    Par GwenZephyr dans le forum Windows Forms
    Réponses: 6
    Dernier message: 04/03/2008, 16h09
  3. comparer deux images en vbnet
    Par offspring dans le forum VB.NET
    Réponses: 9
    Dernier message: 06/11/2007, 14h13
  4. comparer deux images
    Par alex01pernot dans le forum Delphi
    Réponses: 4
    Dernier message: 03/04/2007, 16h08
  5. Comparer deux images pas directement superposables
    Par Byhias dans le forum Images
    Réponses: 2
    Dernier message: 12/03/2007, 16h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo