2012-10-27 3 views
2

안녕하세요, 저는 작업중인 객체 인식 프로젝트에 대한 모델 테스트 질문을 가지고 있습니다. 내 이클립스 프로젝트 폴더에있는 .jpeg 파일을 가져 와서 Java에서 바이트 배열을 매우 희소하게 만들 수 있기를 원합니다. 예를 들어 나는 다음 바이트 2 차원 배열로 변환 할 수 있도록하고 싶습니다 공의 사진이 있다면 :Java에서 바이트 배열로 이미지 변환

00000000000000000 
00000001110000000 
00001100001110000 
00010000000001000 
00010000000001000 
00001000000010000 
00000011111000000 
00000000000000000 

누군가가 내가이 작업을 수행하는 방법을 설명하도록 친절 수 있다면 가장 효율적으로 나는 그것을 크게 감사 할 것이다. 프로그래밍에 익숙하지 않고 oop보다 많은 것을 이해하지 못합니다. 따라서 전문 용어없이 프로세스를 간단하게 프로그래밍 할 수 있다면 정말 고맙겠습니다.

+0

보고 고려 [이 스레드 (http://stackoverflow.com/questions/598046/java-j2me-convert-image-to-byte-then-back-to-image?rq=1) – durron597

답변

3

먼저 이미지의 바이트 배열을 가져 오려면 이미지를 BufferedImage로 변환해야합니다. 이미지를 BuffredImage로 변환하려면 링크를 클릭하십시오. http://www.dzone.com/snippets/converting-images

BufferedImage가 bufferedImageToByteArray 기능을 사용하여 bytearray로 변환 된 후 가져옵니다.

BufferedImage buf_image; // this is BufferedImage reference you got after converting it from Image 
byte[] imageByteArray = bufferedImageToByteArray(buf_image,"jpg"); 

public static byte[] bufferedImageToByteArray(BufferedImage image, String format) throws IOException 
{ 
    ByteArrayOutputStream baos = new ByteArrayOutputStream(); 
    ImageIO.write(image, format, baos); 
    return baos.toByteArray(); 
} 
+0

'bufferedImageToByteArray' 함수는 어디서 오는 것입니까? – leonbloy

+0

죄송합니다. 해당 기능을 추가하는 것을 잊지 마십시오. 내 ans을 업데이트했습니다. –

관련 문제