python - 检测图像中主要颜色的快速算法?

标签 python algorithm colors python-imaging-library

有人知道检测图像中主要颜色的快速算法吗?

我目前正在使用 k-means 与 Python 的 PIL 一起查找颜色,但速度非常慢。处理一张 200x200 的图像需要 10 秒。我有几十万张图片。

最佳答案

一种快速的方法是将颜色空间简单地划分为 bin,然后构建直方图。它速度很快,因为每个像素只需要少量决策,并且只需要一次遍历图像(一次遍历直方图以找到最大值)。

更新:这里有一个粗略的图表来帮助解释我的意思。

x 轴上的颜色分为离散的 bin。 y 轴显示每个 bin 的值,即与该 bin 的颜色范围匹配的像素数。此图像中有两种主要颜色,由两个峰显示。

Color Histogram

关于python - 检测图像中主要颜色的快速算法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13060069/

相关文章:

python - 在 Python 中从带有重音符号的字符串中删除所有非字母字符

python - 提高 Python 中超大字典的性能

java - 在Java中查找集合的所有分区

android - 需要一个明确的答案来设计 Android ActionBar 选项卡

css - 突出显示 JavaFx 标签中的文本

当我们不关心输出时,Python 内置习惯用法将函数应用于可迭代对象的每个元素

python - 如何生成没有连续数字的随机整数列表?

algorithm - 如何高效获取分布在N台电脑上的top K词?

python-3.x - 广度优先搜索 : Shortest Path using Python

google-chrome - Chrome 控制台表添加颜色