OStack程序员社区-中国程序员成长平台

标题: ios - Photoshop 的选择性色彩和色彩平衡滤镜如何工作? [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 15:01
标题: ios - Photoshop 的选择性色彩和色彩平衡滤镜如何工作?

大家好
我是图像处理的新手。我想在 IOS 上做一些颜色更改滤镜,就像 Photoshop 中的“选择性颜色”和“颜色平衡”。但是,我不知道这些很棒的功能的算法。
我尝试在 Paint.Net 的源代码中查找,但不幸的是,PainDotNet 没有此功能。

色彩平衡,我试过这个链接color balance on the iPhone但结果并不好。用photoshop的结果就不同了。

那么有人知道两种技术的算法:选择性色彩和色彩平衡吗?

谢谢你,对我复杂的演示感到抱歉



Best Answer-推荐答案


我已经尝试了 2 天来寻找解决方案,得到了一些结果,但它们与 Photoshop 实现不同,恐怕不完全正确。

我尝试解决的方法是将 RGB 颜色转换为 HSL 颜色空间,然后沿不同的轴(青色/红色、黄色/蓝色、绿色/洋红色)调整色相和饱和度颜色值。 我通过使用笛卡尔坐标系而不是极坐标系来做到这一点,如下所述: http://en.wikipedia.org/wiki/HSL_and_HSV#Hue_and_chroma

我的想法是,在笛卡尔坐标空间(带有 alpha 和 beta 轴)中,更改 alpha 会导致沿青色/红色轴修改颜色。沿黄/蓝轴改变颜色可以通过同时修改 alpha 和 beta 来实现:

alpha = alpha + 调整 * cos(PI/3)
beta = beta + 调整 * sin(PI/3)

其他轴也可以这样做。 获得新的 alpha 和 beta 值后,您可以将它们转换为 HSL,然后再转换为 RGB。

不幸的是,结果仍然与 Photoshop 实现完全不同。此外,我想不出在不触及其余颜色的情况下仅调整红色、黄色、中性、黑色等的正确方法。

有人对如何实现这种类型的调整有任何提示吗?

更新:
以下是关于 GIMP 和 Photoshop 中色彩平衡滤镜的讨论: https://github.com/BradLarson/GPUImage/issues/193

这是将 GIMP 颜色平衡滤镜重新创建为着色器的示例代码:
https://gist.github.com/3168961
目前仅针对中间色调实现,但对高光和阴影进行更改应该非常简单。
不幸的是,GIMP 的色彩平衡滤镜给出了与 Photoshop 不同的结果

我为 GPUImage 框架创建了一个色彩平衡滤镜: https://github.com/liovch/GPUImage/commit/fcc85db4fdafae1d4e41313c96bb1cac54dc93b4

关于ios - Photoshop 的选择性色彩和色彩平衡滤镜如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11577136/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4