使用 CoreImage 获取颜色计数/显性(不是平均值)?

Use CoreImage to get color counts / dominant (not average)?

获取图像的平均颜色很简单,使用 CI,所以

filter = CIFilter(
  name: "CIAreaAverage",
  parameters: [kCIInputImageKey: image, kCIInputExtentKey: whole thing])

但是如果你想要最常用的颜色怎么办?

(或者最好是最常用的前几个?)

请注意,手动完成此操作很简单。 (色贼说,在你的浏览器中试试 lokeshdhakar.com/projects/color-thief )

这个问题专门针对 Core Image,谢谢。

似乎 Apple 在他们自己的几个 iOS 应用程序中使用了主要(不是平均)颜色,所以,似乎有一种 CI 方式?

再次注意,这个问题专门针对 Core Image

CIAreaHistogram 过滤器应该可以解决问题。直方图中的最高值对应于输入图像中最突出的颜色。

或者,iOS 13 中的新功能,您还可以使用 CIKMeans 过滤器来 "create a palette of the most common colors found in the image"。