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

Langage Delphi Discussion :

Scanline - Remplacement couleurs par d'autres proches


Sujet :

Langage Delphi

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    246
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 246
    Points : 67
    Points
    67
    Par défaut Scanline - Remplacement couleurs par d'autres proches
    Bonjour,

    le sujet a sûrement déjà dû être traité mais après plusieurs heures de recherche infructueuses sur le net je me permets de poser la question.
    Je cherche à remplacer certaines couleurs d'une image par celles d'une palette de couleurs.

    En fait je dispose d'une palette limitée de couleurs et je voudrais remplacer les couleurs de l'image par celles les plus proches de la palette.
    Les verts clair par exemple seront remplacés par le seul vert clair de la palette.
    J'ai travaillé sur la moyenne des RGB des pixels de l'image comparée à celle de ceux de la palette mais le résultat n'est pas terrible du tout.

    Ensuite j'ai voulu situer les couleurs de l'image par rapport à celles de la palette.
    Pour ça j'ai essayé de remettre les couleurs de la palette dans l'ordre du noir vers le blanc.
    Après un tri des couleurs j'obtiens un truc bizarre aussi; peut-on comparer 2 couleurs avec < (inférieur) par exemple et sinon comment faire?

    Si quelqu'un avait une idée ou un lien ça m'arrangerait bien.

    Merci à vous.

    BB

  2. #2
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 430
    Points
    28 430
    Par défaut
    tu dois calculer le "Delta E" de la couleur par rapport à chaque couleur de ta palette et pendre celle qui donne le plus petit résultat

    http://fr.wikipedia.org/wiki/Delta_E
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  3. #3
    Membre expérimenté Avatar de guillemouze
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    876
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 876
    Points : 1 448
    Points
    1 448
    Par défaut
    Peut-être que les fonctions de Windows te suffiront : CreatePalette, GetNearestPaletteIndex, ...

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    246
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 246
    Points : 67
    Points
    67
    Par défaut
    Une fois de plus merci Paul.

    J'ignorais complètement ces théories sur les couleurs, sujet très intéressant en plus.
    Les résultats obtenus sont bien meilleurs mais j'ai toujours un problème avec les trois couleurs de base (vert, bleu et rouge);
    on dirait qu'elles sont les moins bien reconnues.

    Je vais encore un peu continuer à chercher sur le net des sujets traitant de ce sujet-là et analyser les valeurs entre RGB et CIE-Lab.

    Encore merci à toi.

    BB

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    246
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 246
    Points : 67
    Points
    67
    Par défaut
    Bonsoir,

    merci mille fois Guillemouze!

    Si j'avais su que tous les calculs, recherches etc pouvaient être remplacés par une fonction j'aurais gagné quelques heures.

    En conclusion à partir de la palette choisie je pense que les échanges de couleur ne sont pas pollués par mon programme mais que le résultat n'est pas tip-top à l'œil nu.
    Certaines couleurs pourraient être remplacées par d'autres de la palette semble-t-il.

    Le résultat étant satisfaisant pour mon application je m'arrêterai là.

    Encore merci à tous.

    BB

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

Discussions similaires

  1. Remplacer une couleur par une autre dans tout le doc
    Par notorious76 dans le forum Word
    Réponses: 3
    Dernier message: 25/09/2008, 00h50
  2. Remplacer une couleur par une autre dans région
    Par cjacquel dans le forum Traitement d'images
    Réponses: 2
    Dernier message: 25/05/2008, 17h39
  3. Réponses: 5
    Dernier message: 30/05/2007, 12h53
  4. Remplacer une couleur par une autre couleur
    Par brice01 dans le forum SDL
    Réponses: 6
    Dernier message: 25/02/2007, 16h38
  5. [VB.NET] Comment remplacer une couleur par une autre?
    Par jazz matazz dans le forum VB.NET
    Réponses: 5
    Dernier message: 11/02/2006, 15h29

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