我想从 BufferedImage (Java) 中提取颜色直方图。我不想为红色、绿色和蓝色提取单独的直方图,但我想要一个包含所有可用颜色(包括分箱)的直方图。如果相邻的垃圾箱看起来彼此相似,那就太好了。
我不知道如何定义垃圾箱,因为颜色不是一维的。另一个问题是将颜色分配给它的 bin。
有人有想法或图书馆来实现它吗?
最好的,迈克尔
只是一个想法:打开一些图像编辑器(例如 Paint)并查看他们的颜色选择器以了解如何排列颜色。
我想我会按 HUE 排列它们(在此处输入链接描述),因为这将是一种一维排列,很容易与“颜色箱”的概念相匹配,并且它还将相似的颜色以彩虹的方式彼此靠近。但是,仅使用色调(放弃亮度和饱和度)意味着您可能会将图片中看起来非常不同的颜色放在同一个 bin 中。
另一种方法是通过对完整 RGB 信息(例如使用所有 3 个 RGB 分量)使用某种静态聚类分析,将图片中的所有颜色自动“聚类”到固定数量的 bin(例如 16 个)中,然后显示在相应的直方图条下方显示每个集群的 16 个“平均颜色”。