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

VB.NET Discussion :

Affichage image en niveaux de gris


Sujet :

VB.NET

  1. #1
    Membre confirmé
    Inscrit en
    Août 2009
    Messages
    143
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 143
    Par défaut Affichage image en niveaux de gris
    Salut tout le monde

    Voilà, je dispose d'une image rgb que je veux lisser en utilisant un filtre gaussien 5*5. Pour ce faire, je calcule d'abord pour chaque pixel la moyenne des composantes r, v et b; et c'est à partir de l'image résultante que j'applique le filtre.

    Le problème pour moi maintenant c'est d'afficher l'image lissée en rvb. Je sui confuse à ce niveau.

    Merci de m'aider s'il vous plaît.

  2. #2
    Membre Expert Avatar de hunteshiva
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Février 2010
    Messages
    1 069
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2010
    Messages : 1 069
    Par défaut
    Titre: Affichage image en niveaux de gris
    afficher l'image lissée en rvb
    sujet confus ....

    ou est ce que tu bloque exactement ?
    dans l'affiche de l'image? *PictureBox*
    ou dans des histoires de filtre?

  3. #3
    Membre confirmé
    Inscrit en
    Août 2009
    Messages
    143
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 143
    Par défaut
    Je bloque au niveau de l'affichage de l'image dans un picture box. Pour ce que j'en sais, les couleurs des pixels dans les picture box se donnent en rvb

  4. #4
    Membre Expert Avatar de hunteshiva
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Février 2010
    Messages
    1 069
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2010
    Messages : 1 069
    Par défaut
    il faudrait que tu soi un peut plus explicite dans ton problème ...

    tu récréer un image pixel par pixel en lui ajoutant un filtre?
    j'ais l'impression que tu a tous les élments la dessus
    aprés si c'est juste sa qu'il te faut :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MaPictureBox.Image = MonImage
    *je voi pas ce qui te bloque*

  5. #5
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    un peu flou oui ...

    si tu travailles pixel par pixel, c'est contreperformant en théorie (sauf si tu passes par la classe marshal)
    il y a des méthodes dans le framework pour traiter des images rapidement

    et sinon il faut que tu créés une nouvelle variable drawing.bitmap dans laquelle tu dessines avec un graphics
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  6. #6
    Membre confirmé
    Inscrit en
    Août 2009
    Messages
    143
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 143
    Par défaut
    Les couleurs des pixels que je veux afficher sont en niveau de gris, et je voudrais donc savoir si il existe unefaçon en vb.net de représenter des couleurs en donnant leur niveau de gris, vu qu'habituellement on fournit les composantes RVB.
    Je sais pas si mon probleme est plus clair maintenant.

  7. #7
    Membre Expert Avatar de hunteshiva
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Février 2010
    Messages
    1 069
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2010
    Messages : 1 069
    Par défaut
    bof bof ...

    et il y a 4 paramètres en vraie

    *voila une fonction que j'ais faite*
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
        Public Sub CouleurAleatoire(ByVal picture As PictureBox)
     
            Dim opacite, rouge, vert, bleu As Integer
            ' choix d'une opacité faible ( 0-> clair / 255-> opaque)
            opacite = 50
            ' choix des couleurs en aléatoire
            rouge = Int(Rnd() * 255)
            vert = Int(Rnd() * 255)
            bleu = Int(Rnd() * 255)
     
            picture.BackColor = Color.FromArgb(opacite, rouge, vert, bleu)
        End Sub
    essaye de jouer sur le 4éme l'opacité

  8. #8
    Membre confirmé
    Inscrit en
    Août 2009
    Messages
    143
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 143
    Par défaut
    Toutes mes excuses je vous prie. J'ai fait une erreur de frappe en énonçant le problème.
    Le problème pour moi maintenant c'est d'afficher l'image lissée en rvb.
    Le problème c'est plutot d'afficher l'image lissée en niveaux de gris

  9. #9
    Membre Expert Avatar de hunteshiva
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Février 2010
    Messages
    1 069
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2010
    Messages : 1 069
    Par défaut
    Je comprend pas pourquoi tu t'acharne a parle de RVB
    si au finale c'est une image Blanc/Gris/Noir que tu veut.....

    Trouve une couleur Grise, et joue sur l'opacité

    *tu ne fait que perdre les gens qui lisent ton topic...*

    PS: essaye "rgb(105, 105, 105)" ou "rgb(112, 128, 144)"
    ce sont deux gris pris dans la boite de couleur du Forum

  10. #10
    Membre confirmé
    Inscrit en
    Août 2009
    Messages
    143
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 143
    Par défaut
    Citation Envoyé par Pol63 Voir le message
    un peu flou oui ...

    si tu travailles pixel par pixel, c'est contreperformant en théorie (sauf si tu passes par la classe marshal)
    il y a des méthodes dans le framework pour traiter des images rapidement
    Ces quoi ces méthodes stp?

  11. #11
    Membre confirmé
    Inscrit en
    Août 2009
    Messages
    143
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 143
    Par défaut
    Citation Envoyé par hunteshiva Voir le message

    Trouve une couleur Grise, et joue sur l'opacité

    *tu ne fait que perdre les gens qui lisent ton topic...*

    PS: essaye "rgb(105, 105, 105)" ou "rgb(112, 128, 144)"
    ce sont deux gris pris dans la boite de couleur du Forum
    Merci, pour l'astuce: ccool:

  12. #12
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    et bien si tu as une image en couleur que tu veux mettre en niveau de gris il y a plein d'exemples sur le net

    http://www.google.fr/#hl=fr&source=h...784f948bc92f10
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  13. #13
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2010
    Messages
    291
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 291
    Par défaut
    Bonjour,

    Avant de ce lancer dans le traitement d'image il faudrait comprendre comment est codée une image numérique, ce sous windows pour travailler en .NET ou autre OS dépendant.
    Une image codée en RVB est une image true color ou une image 32 bits. Soit trois octets par pixels ou respectivement quatre.
    Dans le premier cas chaque octets contient la valeur en byte (0255) des composante BGR (blue green Red dans cet ordre). Dans le second cas c'est la composante alphachannel qui est ajoutée. (ABGR).
    Chaque ligne d'image est alignée sur une boundary de 32 bits.
    Pour une image de 256 couleurs ou de 256 niveaux de gris, là c'est un octet par pixel, chaque octets contenant l'index d'entrée dans une table de couleurs (ou de nuance de gris) qui est placée en tête de l'image.

    Donc passé d'une image RVB en nuance de gris est légèrement plus complexe qu'un simple lissage. Il faut initialiser un deuxième bitmap à la bonne taille et la bonne profondeur de couleur (bitdepth) soit 1 octet par pixel avec une table de nuances de gris. Ensuite chaque pixel de l'image d'arrivée a pour valeur l'index d'entrée dans la table de couleur pour la valeur du filtre gaussien appliquée à l'image d'origine.

    Maintenant si tu veux te "simplifier la vie" tu fais une recherche avec "XNVIEW" sur ce forum et tu trouveras un wrapper de la célèbre SDK de XNVIEW qui te permettra de réaliser cette opération avec toute la facilité nécessaire.

  14. #14
    Membre confirmé
    Inscrit en
    Août 2009
    Messages
    143
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 143
    Par défaut
    Merci pour tout.

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

Discussions similaires

  1. Réponses: 9
    Dernier message: 03/03/2015, 15h57
  2. Image de niveaux de gris vers couleur
    Par tapouni dans le forum Images
    Réponses: 1
    Dernier message: 13/05/2008, 14h40
  3. Contour en couleurs sur image en niveaux de gris
    Par vincent33 dans le forum Images
    Réponses: 4
    Dernier message: 11/09/2007, 11h19
  4. Images en niveaux de gris
    Par nadine24 dans le forum Images
    Réponses: 2
    Dernier message: 13/08/2007, 16h16
  5. Détection de visages dans une image en niveaux de gris
    Par bert_ dans le forum Traitement d'images
    Réponses: 12
    Dernier message: 04/04/2007, 19h04

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