gpt4 book ai didi

java - 从 ComponentColorModel 获取 RGB 分量

转载 作者:行者123 更新时间:2023-12-02 07:35:43 25 4
gpt4 key购买 nike

我需要一些关于 Java 的 ImageIO API 的帮助。我似乎迷失在 ComponentColorModel 类中。我需要逐像素检查 *.png 文件来检测它是灰度图像还是彩色图像。但是,我不知道如何获取每个像素的 R、G、B 值。有人可以帮忙吗?

以下代码在执行“m.getComponents(i, Components, 0);”行时抛出 IllegalArgumentException

ComponentColorModel m = (ComponentColorModel) imageTypeSpecifier.getColorModel();
int pixels = reader.getWidth(0) * reader.getHeight(0);
isGray = true;

int[] components = new int[4];
for (int i = 0; i < pixels; i++) {
m.getComponents(i, components, 0);
if (!(components[0] != components[1] || components[1] != components[2])) {
isGray = false;
break;
}
}

最佳答案

当您使用 ImageIO 加载图像时,您应该有一个 BufferedImage。 BufferedImage 直接提供 getRGB(x, y),为什么不简单地使用它并忽略 ColorModel?

关于java - 从 ComponentColorModel 获取 RGB 分量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12262805/

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