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

Traitement d'images Discussion :

Comparaison des images


Sujet :

Traitement d'images

  1. #1
    Candidat au Club
    Inscrit en
    Février 2007
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 1
    Points : 2
    Points
    2
    Par défaut Comparaison des images
    Salut,

    j'ai essayé de calculer une image de différence C à partir de deux images A et B. Mais lorsque j'essaie de retrouver l'image B elle s'affiche avec les pixels de différence de A.
    Bon vous dites que c'est normal, mais qu'est ce que vous suggérez comme solution ?


    Merci bien.

    Voilà l'algorithme de calcul d'image de différence:

    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    for ( x = 0; x < A->Width; x++ )
    {
    for ( y = 0; y < A->Height; y++ )
    {
    NT++;// nombre total des pixels
    Color pixelColorA = A->GetPixel( x, y );
    Color pixelColorB = B->GetPixel( x, y );
    if (pixelColorA != pixelColorB)
    {
    NM++;// compteur de tous les pixels modifiés
    rouge = std::abs(pixelColorA.R - pixelColorB.R);
    vert = std::abs(pixelColorA.G - pixelColorB.G);
    bleu = std::abs(pixelColorA.B - pixelColorB.B);
    Color newColor = Color::FromArgb(rouge, vert, bleu );
    C->SetPixel( x, y, newColor );
    }
    }
    }


    et celui de restitution de l'image B:

    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    for ( x = 0; x < A->Width; x++ )
    {
    for ( y = 0; y < A->Height; y++ )
    {
    Color pixelColorA = A->GetPixel( x, y );
    Color pixelColorC = C->GetPixel( x, y );
    rouge = std::abs(pixelColorA.R - pixelColorC.R);
    vert = std::abs(pixelColorA.G - pixelColorC.G);
    bleu = std::abs(pixelColorA.B - pixelColorC.B);
    Color newColor1 = Color::FromArgb(rouge, vert, bleu);
    D->SetPixel( x, y, newColor1 );
    }
    }

  2. #2
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    bonjour,

    Citation Envoyé par ktata_ismail Voir le message
    Bon vous dites que c'est normal, mais qu'est ce que vous suggérez comme solution ?
    et bien: ne pas utiliser les valeurs absolues.

    directe: C = A - B
    inverse: A - C = A - (A-B) = B

    Bien sur, dans ce cas tu risque d'obtenir des valeurs negatives lors du calcul de C... donc un petit offset s'impose:

    directe: C = OFFSET + (A - B)
    inverse: A - C + OFFSET = A - (OFFSET+A-B) + OFFSET = B

    avec OFFSET une constante (par exemple la valeur max de B)
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  3. #3
    Membre du Club
    Inscrit en
    Janvier 2007
    Messages
    170
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 170
    Points : 54
    Points
    54
    Par défaut
    bonjours,

    est ce que cette discution peut permettre de donner l'image de différence entre 2 images pratiquement identiques ???


    Mon pb est : je veux démontrer la perte d'information sur une image, après déport sur fibre optique.
    donc avec 2 snapshot , un avant l'envoie sur déport, et un autre snapshot au niveau du deport, et faire un div entre les 2.
    est ce une méthode performante ? ou existe t-il des moyens biens plus performants pour cela ?

  4. #4
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Points : 9 860
    Points
    9 860
    Par défaut
    Bonjour,

    Citation Envoyé par aziatedu13 Voir le message
    est ce que cette discution peut permettre de donner l'image de différence entre 2 image pratiquemeznt identique ???
    Oui, ce morceau d'algorithme permet de calculer la différence entre deux images.
    Le fait que tes images soient quasiment identiques, ne change pas le problème, mais le simplifit.
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

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

Discussions similaires

  1. comparaison des images
    Par gadiro dans le forum Calcul scientifique
    Réponses: 8
    Dernier message: 04/05/2014, 22h30
  2. comparaison des images
    Par Kakaafrica dans le forum API standards et tierces
    Réponses: 3
    Dernier message: 03/11/2010, 15h13
  3. comparaison d'image en ignorant des zones
    Par snake007 dans le forum Débuter avec Java
    Réponses: 1
    Dernier message: 27/10/2009, 13h06
  4. Réponses: 17
    Dernier message: 17/02/2009, 22h37
  5. [TP][MULTI-PROBLEME]Comment afficher des images pcx
    Par mikoeur dans le forum Turbo Pascal
    Réponses: 7
    Dernier message: 24/10/2002, 13h57

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