如何计算 PHP 中图像的主要颜色是什么?我更愿意将相似颜色的不同深浅组合到一个桶中,例如,所有深浅不一的蓝色都被计为“蓝色”。
换句话说,我想要一个接受图像并返回一个简单数组的函数,类似于:
"blue":90%, "white":10%
不需要高精度,只需按主要颜色和次主要颜色对图像进行分类即可。谢谢!
如何计算 PHP 中图像的主要颜色是什么?我更愿意将相似颜色的不同深浅组合到一个桶中,例如,所有深浅不一的蓝色都被计为“蓝色”。
换句话说,我想要一个接受图像并返回一个简单数组的函数,类似于:
"blue":90%, "white":10%
不需要高精度,只需按主要颜色和次主要颜色对图像进行分类即可。谢谢!
这是一种方法:
1) 定义一组我们称之为质心的颜色——这些是您想要将图像分解成的基本颜色的中间部分。例如,您可以使用像k-means这样的聚类算法来做到这一点。所以现在你有了,比如说,100 个质心(桶,你可以把它们想象成),每个质心都是一个 RGB 颜色三元组,你可以手动为其附加一个名称。
2) 为新图像生成直方图:
请记住,这种颜色分配有些主观。我不确定是否会有从颜色到名称的明确映射(例如,它取决于语言)。但是如果你用谷歌搜索,可能存在一个你可以使用的查找表,尽管我还没有遇到过。
希望这可以帮助!
本