有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

图像如何在java中获得与matlab中类似的每个像素的强度值?

我需要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) 个答案

  1. # 1 楼答案

    你离得到你想要的只有一步之遥

    目前,您可以使用

    int rgb = BufferedImage.getRGB(i ,j);
    

    这会给你一个整数

    使用此rgb值构造颜色对象:

    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)