替换iOS中特定颜色的图像

时间:2013-01-29 11:43:47

标签: ios image-processing opengl-es core-graphics glkit

我想用其他用户选择的颜色替换图像的特定颜色。在替换图像颜色时,我想保持原始颜色的渐变效果。例如,请参阅附加的图像。 image1.png
image2.png

我试过用CoreGraphics&我成功取代了颜色。但替换颜色不会保持图像中原始颜色的渐变效果。

有人可以帮我这个吗? CoreGraphics是正确的方法吗? 提前谢谢。

2 个答案:

答案 0 :(得分:0)

我在项目中的图像之间进行了大量的颜色转换/混合/替换/交换,并且发现以下出版物非常有用,都是由Erik Reinhard完成的:

不幸的是我现在无法发布任何源代码(或图像),因为结果正在提交给即将举行的会议,但我已经实现了上述算法的变体,并且结果令人满意。我肯定会有一些调整(并且有点耐心),你可能会得到你想要的东西!

编辑:

此外,真正的挑战在于分离不同的图像元素(例如隔离墙壁)。这与Photoshop的魔棒工具不同,后者显然需要大量的处理能力和复杂的算法(并且仍然不完美)。

答案 1 :(得分:-1)

经过几乎同样的问题(但是使用NSImage),在NSImage中使用ColorCube CIFilter替换了颜色。

https://github.com/braginets/NSImage-replace-color

受此UIImage代码的启发(也使用CIColorCube): https://github.com/vhbit/ColorCubeSample