所述的BufferedImage类有一个方法int getRGB(int x, int y)
即返回整数表示像素的(x,y)处的颜色六角(和另一方法,该方法返回像素的矩阵)。由此可以得到r,g和b值,如下所示:
整数r =(0x00ff0000&rgb)>> 16;
整数g =(0x0000ff00&rgb)>> 8;
int b =(0x000000ff&rgb);
然后检查图像中每个像素的像素是否均相等。如果每个像素的r == g == b,那么它是灰度的。
这是想到的第一件事。我不确定在读取图像时是否会设置某种灰度标记。