如何计算PHP中图像的大多数颜色?我更喜欢将不同色调的相似颜色分组到一个桶中,所以例如所有蓝色的阴影都算作“蓝色”。
换句话说,我想要一个获取图像并返回类似于:
的简单数组的函数"blue":90%, "white":10%
不需要高精度,足以按主色和次显色分类图像。谢谢!
答案 0 :(得分:2)
这是一种方法:
1)定义一组我们称之为质心的颜色 - 这些是你想要将图像分成的基本颜色的中间部分。例如,您可以使用像k-means这样的聚类算法来执行此操作。所以现在你已经有了100个质心(桶,你可以把它们想象成),每个都是一个RGB颜色三元组,你可以手动附加它。
2)为新图像生成直方图:
请记住,这种颜色分配在某种程度上是主观的。我不确定是否会有从颜色到名称的明确映射(例如,它是language dependent)。但是如果你谷歌,可能会有一个你可以使用的查找表,虽然我没有遇到过。
希望这有帮助!
本