如何获取java中每个像素的强度值类似于matlab中的强度值?

时间:2018-04-29 12:29:33

标签: java image

我需要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));
    }

1 个答案:

答案 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)