ios - Photoshop 的选择性颜色和颜色平衡滤镜如何工作?

标签 ios image-processing colors photoshop

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

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

所以有人知道两种技术的算法:选择颜色和颜色平衡吗?

谢谢你,对不起我的复杂介绍

最佳答案

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

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

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

alpha = alpha + adjustment * 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/

相关文章:

ios - Swift 2.0 无法使用类型为 ([AnyObject],(_) -> _) 的参数列表调用 'map'

iphone - 如何在 iOS 上从 pdf 文件中提取给定页面?

matlab - 选择图像中最大的对象

python - 在 Python 中生成颜色范围

ios - Xcode 10 GM - 提交到 App Store Connect 时二进制架构无效?

ios - 如何检测 UIWebView 中的重定向

opencv - 在嘈杂的背景中难以检测到小物体。有什么方法可以解决这个问题?

python - 如何拟合4点的椭圆轮廓?

html - 根据当前css建议不同的颜色组合

java - 随时间改变颜色的 RGB 值