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

2D Java Discussion :

Java et traitement image


Sujet :

2D Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 32
    Points : 24
    Points
    24
    Par défaut Java et traitement image
    Salut ...

    Je voulais savoir si en java il etait possible de decomposer une image en R,G,B puis de la calculer la moyenne de chacune d'elle ?

    Sans utilisé ImageJ ... c'est ca la difficulté.. si vous pouviez m'aider ca serait sympa .. car là je galère ..

    j'ai vu qu'il y avait une classe Image.. mais comme je debute dans le Java je vois pas trop comment je peux faire cela..

    PS : A ce qu'il parait on peut pas traiter les images .tiff, quelqu un connait la librairie qui permer de faire cela ?

    Merci

  2. #2
    Membre éclairé
    Avatar de sironimo
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2004
    Messages : 669
    Points : 756
    Points
    756
    Par défaut
    Salut,

    je pense que tu voulais plutôt dire les RGB de chaque pixel qui compose ton image. Ensuite, je n'ai pas bien compris l'histoire de moyenne : tu veux savoir la valeur moyenne de R, G et B sur l'ensemble des pixels, le RGB moyen, travailler sur les teintes ?

    Précise déjà ce que tu cherches à faire pour qu'on puisse t'aider

    ps : pour les fichiers avec l'extension .tiff, tu as imagero.

    Le lien dans les meilleures APIs ICI

    le lien direct vers le site d'imagero LA

    Bonne chance car dans l'ensemble je n'ai pas compris ce que tu cherchais à faire

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 32
    Points : 24
    Points
    24
    Par défaut Plus de précision ...
    En fait .. j'utilise une charte de couleur composé de plusieurs pastilles ... et le truc, c'est que j'extrait les pastilles qui font 96*96 pixels et dessus j'effectue des mesures.

    Et ce mesures sont : calcul de la valeur moyenne de la composant R(Rouge) sur cette pastille, calcul de la valeur moyenne de la composant B(Bleu) sur cette pastille,calcul de la valeur moyenne de la composant V(Vert) sur cette pastille.

    Voila lol .. Merci pour votre aide

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 32
    Points : 24
    Points
    24
    Par défaut Imagero
    Je viens de lire des infos sur Imagero.. mais il ne permet que de lire les images tiffs.. ensuite pour decomposer l'image tu es obligé d'utilisé la classe image non ? J'ai trop de mal avec le java lol ..

    Merci de votre aide

  5. #5
    Membre éclairé
    Avatar de sironimo
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2004
    Messages : 669
    Points : 756
    Points
    756
    Par défaut
    Et oui imagero ne permet que la lecture de .tiff . Pour le reste, il va falloir travailler avec la classe Image mais je te conseille de passer par un BufferedImage pour récupérer ensuite le RGB.

    Voilà un bout de code que j'avais fait, il t'inspirera peut être

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    java.awt.Toolkit toolkit = java.awt.Toolkit.getDefaultToolkit();
    Image image = toolkit.getImage(url);
    image = new ImageIcon(image).getImage();
    BufferedImage bufferedImage = new BufferedImage(image.getWidth(null),image.getHeight(null),BufferedImage.TYPE_INT_RGB );
    Graphics g = bufferedImage.createGraphics();
    g.drawImage(image,0,0,null);
    g.dispose();
    //Lecture de tous les pixels
    int w = bufferedImage.getWidth();
    int h = bufferedImage.getHeight();
    int[] rgbs = new int[w*h];
    //On crée l'espace neccessaire
    bufferedImage.getRGB(0,0,w,h,rgbs,0,w);  
    //parcours de mon tableau de pixels		 
    for(int i=1;i<rgbs.length-1;i++)
    {
    	int rouge = (rgbs[i-1] >>16 ) & 0xFF;
    	int vert = (rgbs[i-1] >> 8 ) & 0xFF;
    	int bleu = rgbs[i-1] & 0xFF; 
    }
    Ensuite, tu te crées un arrayList qui va stocker ces 3 valeurs pour chaque pixel.

    Voilà ce n'est pas un code réutilisable à proprement parler, il est plutôt là pour te donner des pistes

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 32
    Points : 24
    Points
    24
    Par défaut MErci...
    Yes merci.. je vais essayer de suivre tes pistes lol .. et je te tiens aou courant
    merci

    ps : par contre, toolkit c'est pas pour du javascript :s mais bon .. je vais voir tes lignes merci en tout cas .. et je tiens au courant ce post

  7. #7
    Membre éclairé
    Avatar de sironimo
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2004
    Messages : 669
    Points : 756
    Points
    756
    Par défaut
    Citation Envoyé par martini37
    par contre, toolkit c'est pas pour du javascript
    J'avais pas vu que tu avais précisé que tu travaillais avec du javascript dans tes posts précédents comme quoi mes dons de devin me quittent

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 32
    Points : 24
    Points
    24
    Par défaut LOL C est en JAVA
    Tout est dans le titre.. Non le programme je le fais en JAVA .. mais je croyais que toolkit.. etait utilisé uniquement pour le javascript...

    Merci

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 32
    Points : 24
    Points
    24
    Par défaut Help ... j y arrive pas :(
    Merci de ton aide mais j'y arrive pas .. il doit avoir des bugs que je comprends pas ! il est des lignes soulignés en rouge alors que j'importe les bonnnes choses... help me

    merci

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 32
    Points : 24
    Points
    24
    Par défaut Détails du probleme
    Voila le type d'image que je travaille : Nom : 19.12.JPG
Affichages : 264
Taille : 978 octets par contre elle est en format tif .. et dessus ce que je veux si c est possible :

    - lire l'image en format tif ( c'est le format original de cette image)
    - mesurer la valeur moyenne sur cette image de la composante Rouge , composante bleu et Vert.
    - recupérer cette valeur

    Merci tout le monde !

  11. #11
    Membre expérimenté
    Avatar de Patriarch24
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2003
    Messages
    1 047
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 047
    Points : 1 640
    Points
    1 640
    Par défaut
    Merci de ton aide mais j'y arrive pas .. il doit avoir des bugs que je comprends pas ! il est des lignes soulignés en rouge alors que j'importe les bonnnes choses... help me
    Postes le code qui pose problème sinon on va avoir du mal à deviner ce qui ne va pas

  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 32
    Points : 24
    Points
    24
    Par défaut Lol..
    Bah le code .. c'est le bout de code de sironimo en dessus.. mais serieusement j'ai trop de mal .. j'arrive pas à lire deja l'image avec Imagero, car ce qu il parait avec ca on peut lire les .tif ...

    MErci pour l'aide...

  13. #13
    Membre expérimenté
    Avatar de Patriarch24
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2003
    Messages
    1 047
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 047
    Points : 1 640
    Points
    1 640
    Par défaut
    Laisse tomber Imagero et jette un oeil sur jai (Java Advanced Imaging) en faisant une tite recherche google. Il y a plein de trucs de bien dedans.
    Par contre c'est assez gros...

    Si tu pouvais être plus précis sur les erreurs :
    il est des lignes soulignés en rouge alors que j'importe les bonnnes choses... help me
    On pourrait t'aider !

  14. #14
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 32
    Points : 24
    Points
    24
    Par défaut Merci deja pour les infos ..
    Donc voila le code que j'essaye :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    import java.*;
    import java.awt.image.*;
     
    public class essai{
    private int[][] getPix(Image image){ // Reçoit une image et renvoie un tableau 2D : A, R, V, B
      BufferedImage bi=toBufferedImage(image); // Conversion en BufferedImage
      int w=getSize(image)[1]; int h=getSize(image)[0];
      int[][]tablo=new int[w*h][4];
      for(int x=0;x<h;x++){
        for(int y=0;y<w;y++){
          int rgb = bi.getRGB(y,x);
          int alpha = ((rgb >>24 ) & 0xFF);tablo[x*w+y][0]=alpha;
          int rouge = ((rgb >>16 ) & 0xFF);tablo[x*w+y][1]=rouge;
          int vert = ((rgb >>8 ) & 0xFF);tablo[x*w+y][2]=vert;
          int bleu = (rgb & 0xFF);tablo[x*w+y][3]=bleu;
        }
      }
      return tablo;
    }
    }
    mais comme je te dis : je suis debutant .. ca va faire une semaine que je me suis lancer dans le java ..

    mais par contre si de ton coté tu as de meilleurs idées je suis preneur .. Merci pour le temps consacré .. car moi ca va faire 2-3 jours que je bosses dessus sans succes..

    MErci

Discussions similaires

  1. Traitement Image en Java
    Par Malatok dans le forum Général Java
    Réponses: 6
    Dernier message: 01/10/2013, 17h23
  2. Java et traitement d'images
    Par Imène_23 dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 22/07/2011, 23h49
  3. [Image] Sources java en traitement d'images
    Par Community Management dans le forum Contribuez
    Réponses: 0
    Dernier message: 08/05/2011, 13h49
  4. Réponses: 5
    Dernier message: 26/12/2004, 00h17
  5. Matrice de filtrage ?
    Par gimlithedwarf dans le forum Traitement d'images
    Réponses: 2
    Dernier message: 24/08/2002, 10h44

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