2016-07-18 4 views
-1

이미지 처리가 처음입니다. 흑백 이미지로 픽셀 값을 얻으려고합니다. 나는 여기서 검색했지만 그것에 대해 올바른 방법을 찾을 수 없습니다. RGB 값에 대한 많은 게시물을 보았지만 M x N x 1 배열로 생각되는 흑백 값을 가진 샘플을 찾고 있습니다. 이게 어떻게 자바에서 성취 될 수 있는지 궁금 해서요.Java에서 흑백 이미지의 픽셀 값을 얻는 방법

+0

RGB 값의 문제점은 무엇입니까? 검정색의 경우'rgb (0,0,0)'이고 흰색의 경우'rgb (255,255,255)'입니다. – c0der

+1

StackOverflow에 대한 질문을하기 전에이 섹션을 읽어보십시오. http://stackoverflow.com/help/mcve. 귀하의 질문은 너무 모호하여 편집하지 않고 대답 할 수 없습니다. – Farside

답변

0

RGB 값으로 흑백을 표현할 수 있습니다. rgb(0,0,0)은 검은 색이고 rgb(255,255,255)과 회색 음영 : rgb (240,240,240), rgb (128,128,128) etc입니다.

색상을 그레이 스케일로 변환하려면 post을 참조하십시오.

+1

코멘트가없는 투표가별로 도움이되지 않습니다. – c0der

0

일반적으로 Java에서는 BufferedImage를 사용하여 이미지를 나타냅니다. BufferedImage에는 폭 x 높이 X 채널 길이 (이미지 크기)의 1D 배열이 들어 있습니다. 픽셀 값에 액세스하기 위해, 실제로 간단한 해결책은 래스터 사용하는 것이다 : 상기 이미지 인코딩에 따라 서로 다른 범위

BufferedImage image = ... // A gray level or binary image 
WritableRaster wr = image.getRaster() ; 
for (int y=0 ; y < image.getHeight() ; y++) 
    for (int x=0 ; x < image.getWidth() ; x++) 
     int pixelvalue = wr.setSample(x, y, 0) ; 

pixelvalue 될 것이다 (image.getType())

  • TYPE_BYTE_BINARY 범위 = [0,1], 검은 색 및 흰색 = 0 = 1
  • TYPE_BYTE_GRAY 범위 = [0255] = 0, 흑백 = 255
  • TYPE_USHORT_GRAY, = 0,65535, 블랙 범위 = 0, 흰색 = 65535이다.

픽셀에 액세스하는 가장 빠른 방법은 DataBuffer를 사용하는 것이지만 조금 더 복잡합니다.

+0

왜 투표가 늦습니까? 의견이 도움이 될 것입니다! – FiReTiTi

관련 문제