Java – 找到表示图像中所有颜色的颜色

我想要对图像进行采样以返回单个颜色,该颜色“看起来”是采样颜色的良好表示。 我试过两种方法:

  • 取所有红色,绿色和蓝色的平均值并从中创建图像。 这很少产生看起来像是来自图像的颜色。
  • 从图像中寻找“主导”颜色。 这需要从图像中找到最常见的颜色。 这是更好的,但例如,蒙娜丽莎产生深紫色。 这似乎捕捉到图像的较暗区域,但它忽略了顶角和皮肤上的所有较亮区域。 我想要一种代表黑暗区域和亮区的颜色。

Photoshop具有“平均模糊”,可为图像生成单一颜色。 对于蒙娜丽莎,这看起来像: 蒙娜丽莎通过Photoshop上的平均模糊

在这种情况下,每个季度代表蒙娜丽莎的四分之一。 这最终是我正在寻找的,但让我们从图像整体开始。

我很想知道Photoshop如何获得这些颜色。

谢谢!