如何通过主色来自动分类图像?

7 ruby python image-processing html5-canvas

我有很多相当大的JPG图像(成千上万).每个都是索引卡的图像.大多数是白色的,但有些具有标准的索引卡颜色(这些颜色).

颜色对应于数据属性,因此我想以编程方式按颜色对这些卡进行分类.我知道可以使用canvas元素和像彩色小偷这样的算法在网络浏览器中从图像中提取主色,并且它可以工作 - 它给了我一个rgb值,足以将卡片装箱.

但我无法看到如何通过Web浏览器在如此多的图像上运行这样的东西.

我想知道是否有人可以推荐一个命令行工具,也许是Python或Ruby模块,可以做类似的事情.

ely*_*ely 3

这似乎与这个问题强烈重叠。

不过,如果我处于你的情况,我会尝试一些事情。首先,您可以获得几个可以工作的 Python 库中的任何一个:OpenCVMahotasPILscikits.image都可以处理这个问题,因为您实际上只需要去掉平均 RGB 值。

编写一个脚本来加载每个图像并将其平均 RGB 值附加到列表中。然后,您可以使用scikits.learn中的内置方法对这个大颜色列表执行 Meanshift 或 k-means 聚类。由于您可能知道有多少种不同的颜色,因此 k 均值是一个不错的选择。或者,如果您已经知道标准颜色的 RGB 值,则对于加载的每个图像,只需计算平均 RGB 值,然后根据最接近的标准颜色 RGB 向量对该图像进行“分类”。