您好,我有一个关于我正在从事的对象识别项目的模型测试问题。我希望能够获取 Eclipse 项目文件夹中的 .jpeg 文件,并将它们减少为 Java 中非常稀疏的字节数组。例如,如果我有一张球的图片,我希望能够将其转换为以下字节二维数组:
00000000000000000
00000001110000000
00001100001110000
00010000000001000
00010000000001000
00001000000010000
00000011111000000
00000000000000000
如果有人能好心地解释我如何才能最有效地做到这一点,我将不胜感激。我对编程相当陌生,对 oop 的了解并不多,因此如果您能用简单的编程术语描述该过程,而不使用任何术语,我将非常感激。
最佳答案
首先要获取图像的字节数组,您需要将图像转换为 BufferedImage。请参阅此链接将图像转换为 BufferdImage。 http://www.dzone.com/snippets/converting-images
获得 BufferedImage 后,使用 bufferedImageToByteArray 函数将 t 转换为字节数组。
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();
}
关于java - Java中图像转换为字节数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13096624/