【问题标题】:Replace particular color of image in iOS在 iOS 中替换特定颜色的图像
【发布时间】:2013-01-12 23:27:05
【问题描述】:

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

我曾尝试使用 CoreGraphics 这样做,并且成功替换了颜色。但是替换颜色并没有保持图像中原始颜色的渐变效果。

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

【问题讨论】:

  • 你能把你目前得到的代码贴出来吗?
  • 您可能需要寻找特定的 rgb 比例而不是特定的颜色,然后替换所有 rgb 比例与目标颜色比例相似的像素。需要在比率上设置一些阈值。从未尝试过,但这就是我要解决的方法
  • 看看这个问题。这可能会对你有所帮助。 stackoverflow.com/questions/8046643/…
  • 在没有用户干预的情况下(即没有区域划分等)是不容易做到的,而上面提到的问题在这方面非常薄弱。在stackoverflow.com/a/14307006/1832154,有一种快速讨论的方法可以自动执行此操作,并且生成的图像大多是可以接受的。另请注意,在image2.png 中,其中一个灯变为绿色。
  • @PeterHosey - 我将他们原始的色度键控示例转换为通用 OpenGL ES 着色器:stackoverflow.com/a/12847774/19679,它确实会在白色值周围吓坏。它也与颜色匹配或不匹配,但我可以看到对其进行修改以在保持亮度的同时替换色度。

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


【解决方案1】:

在解决了几乎相同的问题(但使用 NSImage)后,在使用 ColorCube CIFilter 的 NSImage 中创建了一个用于替换颜色的类别。

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

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

【讨论】:

    【解决方案2】:

    我在项目中的图像之间进行了很多颜色转移/混合/替换/交换,发现以下出版物非常有用,均由 Erik Reinhard 撰写:

    很遗憾,我现在无法发布任何源代码(或图像),因为结果将提交给即将举行的会议,但我已经实现了上述算法的变体,结果非常令人满意。我敢肯定,通过一些调整(以及一点耐心),您也许能够得到您想要的!

    编辑:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-01
      • 2018-05-11
      • 1970-01-01
      • 2018-01-19
      • 1970-01-01
      • 2010-12-05
      相关资源
      最近更新 更多