Java颜色直方图所有颜色不是RGB分开

时间:2012-06-19 14:57:06

标签: java histogram

我想从BufferedImage(Java)中提取颜色直方图。我不想为红色,绿色和蓝色提取单独的直方图,但我希望有一个包含所有可用颜色的直方图(包括分箱)。如果相邻的垃圾箱看起来彼此相似会很好。

我没有想法如何定义垃圾箱,因为颜色不是一维的。另一个问题是为其箱子分配颜色。

有人有想法或图书馆来实现吗?

最佳, 迈克尔

2 个答案:

答案 0 :(得分:1)

您可以单独计算红色,绿色和蓝色的直方图,然后找到它们的平均值并绘制结果图形。看看this article

或者您可以创建立方体3d直方图(每个边缘响应一种颜色)。这是它的result(java)。

答案 1 :(得分:0)

只是一个想法: 打开一些图像编辑器(例如Paint)并查看他们的颜色选择器,以了解如何排列颜色。

我想我会用HUE(enter link description here)来安排它们,因为这将是一个简单的安排,很容易匹配“颜色箱”的想法,它也以彩虹的方式将相似的颜色放在彼此附近。 但是,仅使用Hue(丢弃亮度和饱和度)意味着您可能会在图片中将相同颜色的颜色放在同一个bin中。

另一种方法是通过在完整的RGB信息上使用某种静态cluster analysis来自动将图片中的所有颜色“聚类”为固定数量的二进制位(例如16)(例如,使用全部3 RGB组件)然后在相应的直方图条下面显示每个簇的16“平均颜色”的图形。