gpt4 book ai didi

java - BufferedImage - 灰度

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:36:21 31 4
gpt4 key购买 nike

给定一张灰度的图像,我如何获得该位置的灰度像素值?

这始终将 temp 输出为 -16777216(黑色)。

public void testMethod()
{
int width = imgMazeImage.getWidth();
int height = imgMazeImage.getHeight();

//Assign class variable as a new image with RGB formatting
imgMazeImage = new BufferedImage(width, height, BufferedImage.TYPE_BYTE_GRAY);
for(int i=0; i < width; i ++){
for(int j=0; j < height; j++)
{
//Grab and set the colors one-by-one
inttemp = imgMazeImage.getRGB(j, i);
System.out.println(temp);
}
}
}

最佳答案

您正在创建一个新的空白图像并将其分配给您的类变量:

imgMazeImage = new BufferedImage(width, height, BufferedImage.TYPE_BYTE_GRAY);

像素是使用默认值创建的,并且在您打印它们时它们都具有相同的颜色(黑色)是合乎逻辑的,因为您还没有操作任何像素中的颜色。

此外,如果宽度不等于高度,您的代码可能会失败。根据您的 for 循环,我沿着宽度运行,j 沿着高度运行。因此,你应该改变

int temp = imgMazeImage.getRGB(j, i);

int temp = imgMazeImage.getRGB(i, j);

关于java - BufferedImage - 灰度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7409796/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com