gpt4 book ai didi

java - 使用 Java ImageIO 或 Imagemagick 将 DCI-P3 色彩空间转换为 sRGB

转载 作者:行者123 更新时间:2023-12-02 11:05:37 25 4
gpt4 key购买 nike

我正在尝试对 iPhone-X 的屏幕截图进行图像处理,但我遇到了红色 channel 未落入预期范围的问题。这些问题是由于 DCI-P3 引入的图像色彩空间造成的,而我们的大多数算法都是针对我们拥有的旧款 iPhone 和 Android 的标准 sRGB 色彩空间编写的。

在 DCI-P3 色彩空间中,给我们带来问题的屏幕截图区域的 RGB 值为 r=59、g=125、b=236。我们预计红色 channel 小于 30,并且通过 Photoshop 的“编辑->转换为配置文件”选项转换图像确实会导致特定像素的红色值为 22。

我们正在 Jax-RS Web 服务上进行图像处理,因此我解决问题的第一次尝试是使用 javax.imageio.ImageIO 和 friend 。不幸的是,使用以下内容隐藏图像色彩空间的典型建议不起作用(红色值仍然太高):

BufferedImage screenshotCopy = new BufferedImage(screenshot.getWidth(), screenshot.getHeight(), BufferedImage.TYPE_INT_ARGB);
Graphics2D g2d = screenshotCopy.createGraphics();
g2d.drawImage(screenshot, 0, 0, null);
g2d.dispose();

我也尝试过使用 Imagemagick,但作为该工具的新手,我只取得了一些成功。 Imagemagick 可以使用色彩空间进行转换,但当我尝试时,红色 channel 甚至更高 70+。

magick convert IMG_0812.PNG -profile ~/Desktop/srgb.icc IMG_0812_converted.PNG

有人可以帮助我使用 ImageIO(首选)或 ImageMagick 正确转换这些色彩空间,生成类似于 Photoshop 的“编辑 -> 转换为配置文件”工具的结果图像吗?

最佳答案

您可以发布您输入的 PNG 链接吗?

如果您输入的 PNG 图像不包含 DCI-P3 配置文件,那么您还需要将其添加到 ImageMagick 命令中,该命令将变为:

magick IMG_0812.PNG -profile ~/Desktop/DCI-P3-DCI.icc -profile ~/Desktop/srgb.icc IMG_0812_converted.PNG

or

magick IMG_0812.PNG -profile ~/Desktop/DCI-P3-D65.icc -profile ~/Desktop/srgb.icc IMG_0812_converted.PNG


对于 DCI-P3 配置文件,请参阅: http://www.color.org/chardata/rgb/DCIP3.xalter

请注意,在 ImageMagick 7 中,magick 取代了 Convert。如果您使用 magick Convert,那么您可能会使用 ImageMagick 6。

关于java - 使用 Java ImageIO 或 Imagemagick 将 DCI-P3 色彩空间转换为 sRGB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50992170/

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