Maison > Java > javaDidacticiel > histogramme en niveaux de gris d'image Java

histogramme en niveaux de gris d'image Java

黄舟
Libérer: 2016-12-30 11:56:01
original
2303 Les gens l'ont consulté

Dans l'article précédent, nous avons déjà parlé de l'échelle de gris de l'image. Après l'échelle de gris, nous espérons comprendre la répartition des pixels entre 0-255. Il s'agit de l'histogramme en niveaux de gris de l'image dont nous allons parler ci-dessous, qui est le plus simple. Mais les principes sont les mêmes. L'histogramme d'une image a de nombreuses utilisations. Il reflète certaines caractéristiques de l'image et peut être utilisé pour la recherche d'images.

Le code pour obtenir les informations de l'histogramme est le suivant :

public int[] hist(){  
        toGray();  
        int[] hist = new int[256];  
        int len = h*w;  
          
        for(int i=0;i<len;i++)  
            hist[data[i]]++;  
        return hist;  
    }
Copier après la connexion

Ensuite, ce que nous devons faire est de dessiner l'histogramme statistique de l'image, le code est le suivant :

public BufferedImage getHist(){
	toGray();
	int[] intensity = hist();
	int size = 300;
	BufferedImage pic = new BufferedImage(size,size, BufferedImage.TYPE_4BYTE_ABGR);
	Graphics2D g2d = pic.createGraphics();  
        g2d.setPaint(Color.BLACK);  
        g2d.fillRect(0, 0, size, size);  
        g2d.setPaint(Color.WHITE);  
        g2d.drawLine(5, 250, 265, 250);  	
        g2d.drawLine(5, 250, 5, 5); 	 	
           
        g2d.setPaint(Color.GREEN);  
        int max = math.findMaxValue(intensity);  //找到直方图中最大的值
        float rate = 200.0f/((float)max);  
        int offset = 2;  
        for(int i=0; i<intensity.length; i++) {  
            int frequency = (int)(intensity[i] * rate);  
            g2d.drawLine(5 + offset + i, 250, 5 + offset + i, 250-frequency);  
        }  
           
        g2d.setPaint(Color.RED);  
        g2d.drawString("", 100, 270); 
        return pic;
}
Copier après la connexion

Le code ci-dessus En ce qui concerne l'analyse de l'histogramme de l'analyse d'image

, les résultats d'exécution sont les suivants :

histogramme en niveaux de gris dimage Java

histogramme en niveaux de gris dimage Java


Ce qui précède est le contenu de l'histogramme en niveaux de gris de l'image Java. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (m.sbmmt.com) !


Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal