我需要java代码来获取图像中每个像素的强度值(而不是rgb值)。使用matlab工具,我可以得到每个像素的强度值,范围从0到255.当我给出512 * 512的图像时,我得到512 * 512强度值(范围从0到255)。是否有任何代码在java中包含相同的代码。下面的代码给出了二进制的rgb值,所以对于白色,它给出了-1,而在matlab中,它用255表示。在java中是否有任何内置函数可以这样做?
BufferedImage image = ImageIO.read(new File("E:\\C2C\\Image.jpg"));
for(int i = 0; i < 704; i++)
for(int j = 0; j < 604; j++)
{
img[i][j] = image.getRGB(i, j);
System.out.println(image.getRGB(i,j));
}
答案 0 :(得分:0)
你距离得到你想要的东西还有一步之遥。
目前,您可以使用
获取像素的rgb值int rgb = BufferedImage.getRGB(i ,j);
给你一个整数。
使用此rgb值构造Color对象:
Color c = new Color(rgb);
int red = c.getRed(); //get intensity of red (0 - 255)
int green = c.getGreen(); //get intensity of green (0 - 255)
int blue = c.getBlue(); //gey intensity of blue (0 - 255)