2012-10-27 98 views
2

嗨我有一個模型測試問題,用於我正在處理的對象識別項目。我希望能夠在我的eclipse項目文件夾中獲取.jpeg文件,並將它們減少爲Java中非常稀疏的字節數組。例如,如果我有一個球的畫面,我想能夠將其轉換到後面的字節2-d數組:將圖像轉換爲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轉換爲bytearray後,使用bufferedImageToByteArray函數。

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

抱歉忘記添加該功能。我更新了我的答案 –

相關問題