Java如何将简单的图片转化为数字

希望以某种形式打开一张图片,是黑白的,然后将图片转化为数字。图片固定大小,是5*5的黑白格子,黑色转1,白色转0.比如下图就是:1010101110111000111000011可以先不考虑误差。我有想过通过读图片某个位置的RGB值来决定,但是不知道怎么做。学JAVA的时间比较短,这方面不太了解。请问大神知不知道这种应该怎么实现,或者我应该去网上参考什么关键词?

第1个回答  推荐于2018-04-10
通过BufferedImage bi = ImageIO.read(new File("路径"));读取路径
再通过文件源,以及坐标获取RGB值
public static int[] getRGB(BufferedImage image, int x, int y) {
int[] rgb = null;

if (image != null && x < image.getWidth() && y < image.getHeight()) {
rgb = new int[3];
int pixel = image.getRGB(x, y);
rgb[0] = (pixel & 0xff0000) >> 16;
rgb[1] = (pixel & 0xff00) >> 8;
rgb[2] = (pixel & 0xff);
}

return rgb;
}

image 源图像。
x 图像上指定像素位置的 x 坐标。
y 图像上指定像素位置的 y 坐标。
(要定位25次,慢慢来吧)
黑色的rgb是0,0,0 ,白色的rgb 255, 251, 240(建议用photoshop或者其他软件,先获取这样比较精确),然后再进行逻辑判断就Ok了。

主要包
import java.awt.Color;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;本回答被提问者和网友采纳
相似回答