gpt4 book ai didi

java - Java 判断一张图片是否为灰度

转载 作者:行者123 更新时间:2023-11-29 03:27:50 24 4
gpt4 key购买 nike

我正在使用与此类似的方法来(显然是幼稚的)检查 JPEG 图像的色彩空间:

import java.io.*;
import java.awt.color.*;
import java.awt.image.*;
import javax.imageio.*;

class Test
{
public static void main(String[] args) throws java.lang.Exception
{
File f = new File(args[0]);

if (f.exists())
{
BufferedImage bi = ImageIO.read(f);
ColorSpace cs = bi.getColorModel().getColorSpace();

boolean isGrayscale = cs.getType() == ColorSpace.TYPE_GRAY;
System.out.println(isGrayscale);
}
}
}

不幸的是,对于(视觉上)仅显示为灰色的图像,此报告false

什么检查会做正确的事?

最佳答案

您可以使用此代码:

File input = new File("inputImage.jpg");

BufferedImage image = ImageIO.read(input);

Raster ras = image.getRaster();

int elem = ras.getNumDataElements();

System.out.println("Number of Elems: " + elem);

如果元素数返回 1,那么它是一个灰度图像。如果它返回 3,则它是彩色图像。

关于java - Java 判断一张图片是否为灰度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20076290/

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