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 :

traitement d'image en java


Sujet :

2D Java

  1. #1
    Candidat au Club
    Inscrit en
    Décembre 2009
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 2
    Par défaut traitement d'image en java
    salut esque vous pouvez me corégie et m'aidez voiçi mes questions
    Lecture d’images (noir et blanc, niveaux de gris, couleur).
    Visualisation de l’image.
    Calcul de l’histogramme(s) de l’image avec visualisation, l’histogramme(s) normalisé(s), l’histogramme(s) cumulé(s).
    Conversation de l’image en niveaux de gris.
    et voiçi mon code

    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    import javax.swing.* ; 
    import java.awt.* ;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.awt.image.BufferedImage;
    class MaFenetre extends JFrame implements ActionListener,Runnable
    {MenuBar menubar;
    Menu menu1;
    MenuItem menuitem0,menuitem1;
    Thread thread;
     
    MaFenetre () 
    {menubar= new MenuBar();
    menu1= new Menu("File");
    menuitem0=new MenuItem("gray");
    menu1.add(menuitem0);
    menuitem0.addActionListener(this);
    menuitem1=new MenuItem("End");
    menu1.add(menuitem1);
    menuitem1.addActionListener(this);
    setTitle ("IMAGES") ; 
    setSize (800, 500) ; 
    pan = new Panneau() ; 
    getContentPane().add(pan) ; 
    menubar.add(menu1);
    setMenuBar(menubar);
    thread= new Thread(this);
     
    } 
    private JPanel pan ;
     
    java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
     
    public void actionPerformed(ActionEvent event) {
     
    }
     
     
    public void run() {
     
     
    }
     
    java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
     java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
    } 
    class Panneau extends JPanel 
    {MediaTracker tracker; 
    public Panneau() 
    { tracker=new MediaTracker(this);
    	photo = getToolkit().getImage("image.jpg") ;
    	try{
    		tracker.waitForID(0);
    		if (tracker.isErrorAny()){
    			throw new IllegalArgumentException ("Images non chargees");
    		}
    	}catch (Exception ex) {
    		System.out.println(ex.getMessage());
    	}
    }
    	    public int height() { return photo.getHeight(null); }
    	    public int width()  { return photo.getWidth(null);  }
     
    	    // return Color of pixel (i, j)
    	    public Color getColor(int i, int j) {
    	        return new Color(((BufferedImage) photo).getRGB(i, j));
    	    }
     
    	    // return grayscale equivalent of pixel (i, j)
        public int getGray(int i, int j) {
    	        Color color = getColor(i, j);
            int r = color.getRed();
    	        int g = color.getGreen();
    	        int b = color.getBlue();
    	        int luminance = (int) (0.299*r + 0.587*g + 0.114*b);  // NTSC formula
    	        return luminance;
     
        }
     
    	    // set pixel (i, j) to given grayscale value
       public void setGray(int i, int j, int c) {
       	Color color = new Color(c, c, c);
    	        setColor(i, j, color);
        }
     
    		private void setColor(int i, int j, Color c) {
    			((BufferedImage) photo).setRGB(i, j, c.getRGB());
     
    		}
    public void paintComponent(Graphics g) 
    { super.paintComponent(g) ; 
    int x=10, y=10 ; 
    if(photo != null) 
    {g.drawImage (photo, x, y, this);System.out.println("photo");} 
    }
     
    private Image photo = null; 
     
    }  
     
     
    public class TestMenu 
    { public static void main (String args[]) 
    { MaFenetre fen = new MaFenetre() ; 
    fen.setVisible(true) ; 
     
    } 
      }
    il m'affiche que l'image comment je peux afficher les resultat de la conversation
    en niveau de gris et comment calculer l'histogramme aidez moi s'il vous plais

  2. #2
    Membre chevronné Avatar de ngpub
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    449
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 449
    Par défaut
    Quitte à ouvrir plusieurs fils sur tes difficultés, essaye d'être plus concis dans tes questions.

    j'ai déjà répondu pour une part ici.

    voici un exemple très simple juste pour te montrer une façon d'ouvrir, convertir et afficher des images :
    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    package pkg;
     
    import java.awt.BorderLayout;
    import java.awt.Image;
    import java.awt.image.BufferedImage;
    import java.io.IOException;
     
    import javax.imageio.ImageIO;
    import javax.swing.ImageIcon;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.SwingUtilities;
     
    public class TestImage extends JFrame {
    	private static final long serialVersionUID = 1L;
     
    	public TestImage(Image imageSource, Image imageColor, Image imageGray, Image imageBinary) {
    		super("TestImage");
    		setDefaultCloseOperation(EXIT_ON_CLOSE);
     
    		// réglage de l'affichage, ajout d'une marge entre les images.
    		((BorderLayout)getContentPane().getLayout()).setHgap(14);
    		((BorderLayout)getContentPane().getLayout()).setVgap(14);
     
    		// Gestion de l'affichage des images.
    		getContentPane().add(new JLabel(new ImageIcon(imageSource)), BorderLayout.NORTH);
     
    		getContentPane().add(new JLabel(new ImageIcon(imageColor)), BorderLayout.WEST);
    		getContentPane().add(new JLabel(new ImageIcon(imageGray)), BorderLayout.CENTER);
    		getContentPane().add(new JLabel(new ImageIcon(imageBinary)), BorderLayout.EAST);
    	}
     
     
    	public static void main(String[] args) {
     
    		// Ouverture d'une image.
    		BufferedImage imageTmp = null;
    		try {
    			imageTmp = ImageIO.read(ClassLoader.getSystemResource("image.jpg"));
    		} catch (IOException e) {
    			e.printStackTrace();
    			System.exit(1);
    		}
     
    		final BufferedImage imageSource = imageTmp;
     
    		// Conversion de l'image en rouge, vert, bleu.
    		final BufferedImage imageColor = new BufferedImage(imageSource.getWidth(), imageSource.getHeight(), BufferedImage.TYPE_INT_RGB);
    		imageColor.getGraphics().drawImage(imageSource, 0, 0, null);
     
    		// Conversion de l'image en niveaux de gris.
    		final BufferedImage imageGray = new BufferedImage(imageSource.getWidth(), imageSource.getHeight(), BufferedImage.TYPE_BYTE_GRAY);
    		imageGray.getGraphics().drawImage(imageSource, 0, 0, null);
     
    		// Conversion de l'image en noir et blanc binnaire.
    		final BufferedImage imageBinary = new BufferedImage(imageSource.getWidth(), imageSource.getHeight(), BufferedImage.TYPE_BYTE_BINARY);
    		imageBinary.getGraphics().drawImage(imageSource, 0, 0, null);
     
     
    		// lance l'affichage
    		SwingUtilities.invokeLater(new Runnable() {
    			@Override
    			public void run() {
    				JFrame frame = new TestImage(imageSource, imageColor, imageGray, imageBinary);
    				frame.pack();
    				frame.setLocationRelativeTo(null);
    				frame.setVisible(true);
    			}
    		});
     
    	}
     
    }

Discussions similaires

  1. traitement d'image en java
    Par softlook dans le forum Général Java
    Réponses: 4
    Dernier message: 04/12/2009, 11h51
  2. Traitement d'image en java
    Par fifi2 dans le forum Traitement d'images
    Réponses: 7
    Dernier message: 03/06/2009, 01h03
  3. le traitement d'image avec Java
    Par takfa2008 dans le forum Traitement d'images
    Réponses: 3
    Dernier message: 27/01/2009, 09h01
  4. un traitement d'image en java
    Par inès83 dans le forum Traitement d'images
    Réponses: 12
    Dernier message: 19/01/2009, 14h42
  5. je dois implémenter des programmes en traitement d'image avec java.
    Par inès83 dans le forum Traitement d'images
    Réponses: 1
    Dernier message: 22/02/2008, 12h55

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