Java中图像到字节数组的转换

Java中图像到字节数组的转换,java,image,byte,data-conversion,Java,Image,Byte,Data Conversion,嗨,我有一个物体识别项目的模型测试问题。我希望能够获取eclipse项目文件夹中的.jpeg文件,并在Java中将它们简化为非常稀疏的字节数组。例如,如果我有一个球的图片,我希望能够将其转换为以下字节2-D数组: 00000000000000000 00000001110000000 00001100001110000 00010000000001000 00010000000001000 00001000000010000 00000011111000000 00000000000000000

嗨,我有一个物体识别项目的模型测试问题。我希望能够获取eclipse项目文件夹中的.jpeg文件,并在Java中将它们简化为非常稀疏的字节数组。例如,如果我有一个球的图片,我希望能够将其转换为以下字节2-D数组:

00000000000000000
00000001110000000
00001100001110000
00010000000001000
00010000000001000
00001000000010000
00000011111000000
00000000000000000

如果有人能向我解释我如何能最有效地做到这一点,我将不胜感激。我对编程相当陌生,对oop的理解也不多,因此如果您能用简单的编程术语描述这个过程而不使用任何术语,我将非常感激。

首先要获得图像的字节数组,您需要将图像转换为BuffereImage。请参阅此链接以将图像转换为BuffreImage

获取BuffereImage后,使用BuffereImage字节数组函数将t转换为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();
}

考虑一下“代码> BuffeReDigaToByTyRea/Cux>函数来自何处?