Photoshop选择性颜色背后的数学是什么?

时间:2012-03-15 07:15:52

标签: ios image

我正在iPhone上制作一个图像处理软件,并且像Photoshop一样陷入选择性色彩功能。

如何通过代码对像素进行选择性颜色调整后计算新的RGB值?

我的意思是如何创建一个与Photoshop的选择颜色具有相同功能的工具(在图像 - >调整 - >选择颜色中)。

特别的thx!

3 个答案:

答案 0 :(得分:0)

最后,我对已经由photoshop处理的图像的数据进行了采样,得到了具有色调的二次曲线。但它与photoshop的不完全相同。

答案 1 :(得分:0)

我遇到过一个代码,它使用图像缓冲区来处理图像的alpha,但同样可以用来操作rgb以及link

参见此示例,它将给出目标c中图像处理的一般概念

答案 2 :(得分:0)

我也试图理解数学。这是在“绝对”模式下使用纯色进行实验的一些观察结果,作为最终用户,我只关心

1)如预期的那样,添加任何颜色的相反颜色会将起始颜色变为黑色。所以100%红色+ 100%青色=黑色

2)添加相邻颜色不会执行任何操作。因此100%红色+任意数量的黄色或品红色= 100%红色

3)添加三合色将原色转换为相邻色。所以100%红色+ 100%绿色= 100%黄色

在RGB空间中,这转化为类似的东西

|r'|   |1, 0, 1, 1, 1, 0|   |r|
|y'|   |0, 1, 0, 1, 1, 1|   |y|
|g'|   |1, 0, 1, 0, 1, 1|   |g|
|c'| = |1, 1, 0, 1, 0, 1| * |c|
|b'|   |1, 1, 1, 0, 1, 0|   |b|
|m'|   |0, 1, 1, 1, 0, 1|   |m|

当然有剪裁和黑到白的调整。这是一个更加数学化的讨论

http://blog.pkh.me/p/22-understanding-selective-coloring-in-adobe-photoshop.html