我通过以下方式获得像素的灰度值:
val=img.getRGB(j, i) & 0xFF;
用于处理目的。
现在,处理后我想要红色,绿色和蓝色值。我该怎么做?
答案 0 :(得分:2)
以下是一些示例代码,用于获取BufferedImage
上坐标(x,y)处像素的r,g,b,alpha和灰度值。
BufferedImage image; // assume you have this image
int rgb = image.getRGB(x, y); // get the desired pixel
int r = (rgb >> 16) & 0xFF;
int g = (rgb >> 8) & 0xFF;
int b = (rgb & 0xFF);
int alpha = (rgb >> 24) & 0xFF;
int gray = (r + g + b) / 3; // rgb are not affected
答案 1 :(得分:0)
使用以下内容: -
int r=(rgb>>16) & 0xff;
int g=(rgb>>8) & 0xff;
int b=(rgb) & 0xff;
其中int rgb=img.getRGB(j, i);
存储这些值以便以后检索 请参阅:RGB values of an image
如果是灰色图像: -
int rgb = (val << 16) | (val << 8) | (val << 0);
你可以像上面那样得到灰度图像的rgb值,然后应用前面提到的找到r,g和b的方法。