我正在尝试以编程方式更改白点/白平衡。这就是我想要完成的:
- 从图像中选择一个(随机)像素
- 获取该像素的颜色
- 转换图像,以便该颜色的所有像素都将转换为白色,并且所有其他颜色都将转换为匹配
我已经完成了前两个步骤,但第三步并没有真正奏效。
起初,我认为,根据 Apple 的文档CIWhitePointAdjust应该可以完全做到这一点,但是,尽管它确实改变了图像,但它并没有做我想要/期望它做的事情。
然后似乎CIColorMatrix应该可以帮助我改变颜色,但我(现在仍然)不知道用那些讨厌的向量输入什么。我已经尝试了几乎所有的东西(所有向量上的 RGB 值相同,每个向量上的对应值(R 表示 R 等),1 - 对应值,1 + 对应值,1/对应值。RGB 值和不同的(1 - x , 1 + x, 1 / x)。
我也遇到过CITemperatureAndTint,根据 Apples 文档也应该有所帮助,但我还没有弄清楚如何从 RGB 转换为温度和色调。我已经看到了关于从 RGB 转换为 Temperatur 的算法和公式,但没有看到关于色调的内容。不过,我将继续对此进行一些试验。
非常感谢任何帮助!