繁体   English   中英

如何检测图像是否为灰度

[英]how to detect image is graycscale or not

有在接受的答案在这里 它说,如果值R == G == B则为灰度图像。 我试图比较第一个像素,它成功了。 但是,我认为彩色图像对于某些像素,尤其是在第一个像素中,可能具有相同的RGB值。

我不想做for循环来检查所有像素,这将花费更多的时间。 因此,还有其他方法可以检查图像是否为灰度图像吗? 或者,是否可以使用getter方法从其元数据中获取此信息?

我不确定,但您尝试过吗?

BufferedImage image = ImageIo.read(new File("imageName"));
ColorSpace colorSpace = image.getColorModel().getColorSpace();
int type = colorSpace.getType();
if (type = ColorSpace.CS_GRAY ){
    //...
}

有关色彩空间,请参见http://docs.oracle.com/javase/7/docs/api/java/awt/color/ColorSpace.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM