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

OpenCV Discussion :

Image transparente - substitution de couleur


Sujet :

OpenCV

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 129
    Par défaut Image transparente - substitution de couleur
    Bonjour,

    Je cherche à afficher une image transparente sur une autre avec OpenCV 2.0
    Comme OpenCV ne gère pas la transparence des png, j'ai remplacer la zone transparente par une couleur unie (ex: RGB(0,255,0) ).
    Maintenant je souhaiterais substituer cette couleur lorsque je la recopie sur une autre image...
    J'ai trouvé ce tutoriel :
    http://www.geckogeek.fr/afficher-une...us-opencv.html
    Mais il n'utilise pas la nouvelle librairie en C++ (v2.x avec Mat, ...) et je n'arrive pas à trouver un équivalent.

    Merci pour toute aide !

  2. #2
    Membre chevronné
    Inscrit en
    Mars 2010
    Messages
    439
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 439
    Par défaut
    l'idée est de balayer ton fond et de remplacer la couleur du pixel de fonds par celui de ton image (sauf si sur ton image il s'agit du canal alpha) ou est le problème ? (cvget2d de mémoire pour avoir la couleur du pixel et cvset2d pour le colorer) y a d'autre méthode aussi pour changer la couleur d'un pixel.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 129
    Par défaut
    (cvget2d de mémoire pour avoir la couleur du pixel et cvset2d pour le colorer)
    C'est bien là mon problème... tu utilise pas la nouvelle librairie C++, ces fonctions n'existe plus... (mise à part le Vect3b et le At).

    Sur le lien que j'ai mis, il y a ta solution (parcourir tous les pixels) mais mon problème est que le contour n'est pas net car il remplace les couleurs strictement égale au masque.
    Donc les couleurs proches (celles des contours du personnage par exemple), sont aussi recopier. Ce qui fait qu'il reste des traces de la couleur que je veux faire disparaitre...

    D'où mon problème.

  4. #4
    Membre chevronné
    Inscrit en
    Mars 2010
    Messages
    439
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 439
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #define cvGetAt                 cvGet2D
    ils ont juste changé le nom mais elles existent toujours hum pour les contours faudrait mettre un petit filtre du genre un flou à voir le résultat

Discussions similaires

  1. Problème d'image transparente
    Par SaianSupa dans le forum C++Builder
    Réponses: 2
    Dernier message: 10/04/2006, 22h05
  2. [VB]PictureBox Image transparente?
    Par Vodkakok69 dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 16/03/2006, 18h26
  3. image transparente pour le web
    Par jexl dans le forum Général Conception Web
    Réponses: 7
    Dernier message: 22/02/2006, 22h49
  4. rendre une image transparente
    Par nabil dans le forum VB 6 et antérieur
    Réponses: 16
    Dernier message: 12/06/2005, 13h53
  5. rendre une image transparente
    Par matt92700 dans le forum AWT/Swing
    Réponses: 6
    Dernier message: 02/06/2005, 08h42

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