- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试对 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/
我是一名优秀的程序员,十分优秀!