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

Interfaces Graphiques en Java Discussion :

Convertir une image couleur en noir et blanc avec partie en couleur


Sujet :

Interfaces Graphiques en Java

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2013
    Messages : 1
    Points : 5
    Points
    5
    Par défaut Convertir une image couleur en noir et blanc avec partie en couleur
    Bonjour,

    Je recherche un script en Java (commenté si possible) permettant de convertir une image couleur en noir et blanc tout en conservant une partie en couleur (Style Taxis NY, Welsh guard)

    Exemples: http://oconnells.fr/wp-content/uploa...-york-taxi.jpg

    Merci à l'âme charitable qui voudra bien m'aider

  2. #2
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 846
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 846
    Points : 22 851
    Points
    22 851
    Billets dans le blog
    51
    Par défaut
    Moi je verrai plutôt ça comme ça :

    • On a l'image source en couleur.
    • On a une image masque en N&B (= découpe nette) ou en niveaux de gris (= découpe lisse) ou en dégradé de transparence (couleur opaque -> couleur transparente) qui représente un masque qui englobe les parties impactées. Ce masque peut être généré grâce dans un outils de dessin externe permettant de faire une découpe vectorielle ou de la peinture bitmap.
    • On a une image résultat vide.
    • On fait une copie de l'images source en la convertissant en niveaux de gris (l'image montrée n'est pas vraiment en N&B) : BufferedImage.TYPE_INT_ARBG -> BufferedImage.TYPE_BYTE_GRAY (ou une conversion manuelle plus fine si le résultat ne convient pas)
    • On crée une image intermédiaire.
    • On recopie le masque dedans.
    • On utilise la classe AlphaComposite (http://fr.wikipedia.org/wiki/Alpha_blending) pour dessiner l'image en niveaux de gris dedans (il y aura donc des "trous", des pixels transparents, a l'emplacement des taxis).
    • On recopie l'image source dans l'image résultat (tout est en couleur)
    • On recopie l'image intermédiaire dans l'image résultat (tout est en niveaux de gris, sauf les taxis qui sont en couleur).


    Ça c'est la méthode objet, un peu gourmande mais simple a comprendre (les logiciels de dessin supportant les calques fonctionnent de manière similaire).

    Une méthode plus bas niveaux et performante :

    • On a l'image source en couleur.
    • On a une image masque.
    • On a une image résultat vide.
    • Pour chaque pixel (x, y) de l'image source, on regarde la valeur du pixel (x, y) du masque. Si :
      • Le pixel (x, y) du masque est noir (resp. opaque) -> le pixel (x, y) dans l'image résultat est une conversion en niveaux de gris de la couleur du pixel (x, y) de l'image source -> couleur en niveau de gris.
      • Le pixel (x, y) du masque est blanc (resp. transparent) -> le pixel (x, y) dans l'image résultat identique a la couleur du pixel (x, y) de l'image source -> couleur identique a la source.
      • Le pixel (x, y) du masque est gris (resp translucide) -> le pixel (x, y) dans l'image résultat est une conversion en niveaux de gris de la couleur du pixel (x, y) de l'image source impacté par la couleur du pixel (x, y) de l'image source -> couleur délavée.

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

Discussions similaires

  1. convertir une image couleur en noir et blanc en java
    Par hadjila20 dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 02/11/2012, 03h32
  2. Rendre une image couleur en noir et blanc en utilisant AForge
    Par angifilmes dans le forum Windows Forms
    Réponses: 1
    Dernier message: 26/01/2011, 10h45
  3. [Filtre]Convertir une image en noir et blanc
    Par Bourak dans le forum Graphisme
    Réponses: 13
    Dernier message: 08/03/2010, 16h27
  4. [Galerie] Fonction pour convertir une image en noir et blanc
    Par piotrr dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 10/02/2009, 12h23

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