java - Java中图像转换为字节数组

标签 java image byte data-conversion

您好,我有一个关于我正在从事的对象识别项目的模型测试问题。我希望能够获取 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/

相关文章:

jquery - 通过调整大小脚本调整大小后图像向上移动

java - 将图像保存到 Postgresql Java

html - 页脚图像上的文字

c - 是否有适用于所有系统的通用 "isolate a single byte"位掩码,而不考虑 CHAR_BIT?

java - 在oracle中使用long或Long映射 "NUMBER"列?

java - 从 Java 应用程序连接 LDAP 服务器

java - JNDI 需要 JDK 吗?

java - 为 Db4oEmbedded EmbeddedConfiguration 设置唯一键约束

java - InputStream接收方法阻塞

Python - 基准测试磁盘 - 在文件中准确写入 x 字节