【问题标题】:What is the algorithm behind photoshop palette knife effect? [closed]Photoshop调色刀效果背后的算法是什么? [关闭]
【发布时间】:2019-11-14 13:58:12
【问题描述】:

我正在尝试找出 Photoshop 中使用的一些效果背后的算法,甚至是总体思路。具体来说,就是简化图像颜色的调色刀效果。比如下图:

变成这样:

我希望每组具有相似颜色的像素都像在 Photoshop 中那样(实时)变成一个或两种颜色的简单块。对此方法的任何想法表示赞赏。

按照 tucuxi 的建议,我可以运行一个像 kNN 这样的分类算法来为每个图像(视频中的帧)挑选 K 个主色,然后改变每个像素的颜色k 个代表中最接近的一个。我将把代码放在这里,感谢任何改进它的建议。

【问题讨论】:

  • 如果您想按照您的描述进行操作,请参阅here 以获得更快的选项。但请注意,这不是生成您展示的图像的算法。它是一些非线性滤波器,可能是专有的且未公开。看起来和双边过滤器有关。

标签: algorithm image-processing colors photoshop


【解决方案1】:

既然要选择有代表性的颜色,可以按照以下步骤进行:

  1. 从图像中总共 N 种颜色中选择 K 种颜色
  2. 对于图像中的每个像素,将其替换为所选 K 中最接近的颜色

要实现第 1 步,您可以在实际颜色空间上运行 k-nearest-neighbors。在 WxH 图像中,您有 WxH 像素,每个像素都有一种颜色。您选择 K 种随机颜色作为质心,将最接近的像素添加到每个颜色,一段时间后,您完成了 K 种不同的颜色,这些颜色或多或少代表了图像中最重要的颜色(就不太远离所有其他人)。请注意,这只是一种可能的聚类算法 - 我确信存在很多关于替代方法及其相对优点的文献。

步骤 2 相对容易得多。对于每个原始像素,计算与所选 K 种颜色中的每一种的距离,并将其替换为最接近的颜色。

【讨论】:

  • 感谢您的帮助。我正在努力按照你说的去做。但是,Photoshop 会实时执行此操作,因为您可以调整笔触大小并立即查看变化的结果。您认为这种方法在普通 CPU 上的工作方式是否相同?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-03-31
  • 2012-08-23
  • 1970-01-01
  • 2010-09-15
  • 2020-01-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多