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

Java Discussion :

Analyse d'image


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2011
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

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

    Informations forums :
    Inscription : Août 2011
    Messages : 35
    Par défaut Analyse d'image
    Bonjour Developers
    Je travaille sur un projet de numérisation des document et la première étape était de les rendre sous format image a partir d'un scanner et les numériser comme ça on pourra travailler sur les pixels (trop d'information :p )
    bref, J'aimerai savoir comment travailler sur des images les rendre binaires travailler sur les pixels avec JAVA
    Merci

  2. #2
    Membre averti
    Inscrit en
    Janvier 2009
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 46
    Par défaut
    Bonjour,

    Je t'ai déja expliqué la fois dernière, à partir d'un BufferedImage tu récupéres la couleur de tes Pixels, via la méthode getRGB(int x, int y).
    Tu crée un tableau de booleen de la taille de ton image.

    Tu parcours chacun des pixels (coordonnées x/y), et à partir de la tu récupère leur couleur (composante RGB = Rouge, Vert, Bleu).
    int rgb = image.getRGB(x,y);
    int b = rgb & 0xFF; // Récupération composante bleue
    int g = rgb >> 8 & 0xFF; // Récupération composante verte
    int r = rgb >> 16 & 0xFF ; // Récupération composante rouge

    Si r/g/b vaut 0/0/0 -> Couleur noir.
    Si r/g/b vaut 255/255/255 -> Couleur blanche.

    Tu peux partir de l'idée que si la somme des composantes R+V+B est inférieur à 150, alors le pixel est noir (du moins très foncé).

    if(r + g + b < 150){
    // pixel noir
    }

    Si tu ne connais pas le principe des couleurs RGB je t'invite à aller faire un tour ici tu peux voir les composantes rouve verte et bleue en faisant bouger le curseur.

  3. #3
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Par défaut
    Citation Envoyé par romano62880 Voir le message
    Tu peux partir de l'idée que si la somme des composantes R+V+B est inférieur à 150, alors le pixel est noir (du moins très foncé).

    if(r + g + b < 150){
    // pixel noir
    }
    Considérer comme noir une couleur en travaillant en RVB n'est pas facile.
    D'ailleurs, si par exemple R=150, V=0 et B=0, on est "loin" du noir.
    Il est plus "facile" d'utiliser du TSL (teinte, saturation, luminosité) en testant un seuil sur la luminosité.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  4. #4
    Membre averti
    Inscrit en
    Janvier 2009
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 46
    Par défaut
    Effectivement, le mieux est de tester le seuil de luminosité, mais cela engendre des calculs il me semble compliqués. A moins que tu connaisse une classe utilitaire pour le faire..

    J'ai suggéré cette méthode car elle est simple et il me semble suffisante pour détecter une police noire sur fond clair.

    @edit, je viens de trouver les formules ici si ça interesse quelqu'un

  5. #5
    Modérateur
    Avatar de wax78
    Homme Profil pro
    R&D - Palefrenier programmeur
    Inscrit en
    Août 2006
    Messages
    4 096
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : R&D - Palefrenier programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 096
    Par défaut
    Si jamais c'était nécessaire, la classe color a une fonction pour obtenir la HSB a partir des valeurs RGB : http://docs.oracle.com/javase/1.4.2/..., float&#91;])ca pourra toujours aider...
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

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

Discussions similaires

  1. Des bibliothèques de traitement et d'analyse d'images
    Par Community Management dans le forum Traitement d'images
    Réponses: 29
    Dernier message: 25/08/2016, 17h06
  2. Comment faire de l'analyse d'image à partir de jpeg ?
    Par rapac dans le forum Traitement d'images
    Réponses: 11
    Dernier message: 12/12/2008, 23h21
  3. Analyse d'images à partir d'une webcam
    Par DOC doc doc dans le forum Images
    Réponses: 1
    Dernier message: 20/06/2007, 13h58
  4. Analyse d'images à partir d'une webcam
    Par DOC doc doc dans le forum Images
    Réponses: 2
    Dernier message: 10/05/2007, 10h22
  5. Analyse d'images
    Par gmonta dans le forum Bibliothèques
    Réponses: 3
    Dernier message: 30/09/2005, 08h13

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