> Java > java지도 시간 > 자바 이미지 회색조 히스토그램

자바 이미지 회색조 히스토그램

黄舟
풀어 주다: 2016-12-30 11:56:01
원래의
2303명이 탐색했습니다.

이전 기사에서 이미 이미지의 회색조에 대해 이야기했습니다. 회색조 이후에는 0-255 사이의 픽셀 분포를 이해하고 싶습니다. 이것은 아래에서 설명할 이미지의 회색조 히스토그램으로, 가장 간단한 것입니다. 그러나 원칙은 동일합니다. 이미지의 히스토그램은 이미지의 특정 특성을 반영하며 이미지 검색에 활용될 수 있습니다.

히스토그램 정보를 얻는 코드는 다음과 같습니다.

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;  
    }
로그인 후 복사

그럼 이미지의 통계적 히스토그램을 그려야 하는데, 코드는 다음과 같습니다.

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;
}
로그인 후 복사

위 코드를 이미지 분석의 히스토그램 분석

을 참고하면 실행 결과는 다음과 같습니다.

자바 이미지 회색조 히스토그램

자바 이미지 회색조 히스토그램


위 내용은 자바 이미지 그레이스케일 히스토그램 내용입니다. 더 많은 관련 내용은 PHP 중국어 홈페이지(m.sbmmt.com)를 참고해주세요!


원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿