什么是提取图像主要颜色的最佳算法(结果而非性能)。该算法应丢弃图像的背景。
我知道我可以构建一个颜色数组以及它们在图像中出现的次数,但我需要一种确定什么是背景和什么是前景的方法,并在读取主要颜色时只保留第二个(前景)。
这个问题非常困难,特别是对于渐变背景或具有图案的背景(不是纯色的情况)。
本回答不涉及将前景与背景分离,但是...
我发现对图像应用像素化滤镜可以提取出一组非常好的“平均”颜色。
之前
之后
我有时使用这种方法来推导出具有特定情绪的颜色调色板。我首先找到一张具有我需要的一般色调的照片,像素化,然后从结果图像中取样。此实用程序的目的是生成元数据,概括图像的颜色特征,以便将其包含在图像数据库中,例如Flickr。特别地,此工具正在用于为Flickr的Color Fields组生成元数据。
但根据我的经验,这个工具还是经常错过“人类可读”/明显的“主要”颜色。傻瓜机器!