有没有办法找出java中图像文件中的多数颜色?

时间:2012-03-16 07:14:00

标签: java image swing

我想找出图像文件中的大部分颜色并将其设置为摆动框架的背景。我该怎么办?

3 个答案:

答案 0 :(得分:1)

你需要从你的Image中提取RGB百分比值,因为有些算法会给出RGB值。而且您还需要将整个图像划分为某些部分(例如Nine square),然后获取RGB值,这样您就可以得到图像中更多的颜色。 可以this帮助您。

答案 1 :(得分:1)

你可以通过遍历图像中的每个像素然后获得颜色来做到这一点。然后为找到的每种颜色增加计数器。

答案 2 :(得分:1)

这一切都取决于效率。您可以逐字读取图像的每个RGB值,并找到模式,但这需要很长时间。

相反,我要做的只是简单地将图像分成几个部分,然后说100平方或者其他东西。我们取每个正方形中心的值,无论哪个出现最多,可能是最常见的颜色。是的,这有点冒险,因为如果图像恰好恰好在您评估的所有像素中使用的颜色较少。最好的办法是首先要有一个范围,所以如果你得到类似的rgb(0,2,0)和(0,0,0),你只需将它们视为相同。

接下来应该做的是将大约10%的图像作为样本。你很可能会得到正确的答案。因此,如果图像为500px,请使用50px作为样本,沿图片均匀分布。

这是精确度和速度之间的权衡,因为检查整个图像需要很长时间,而且没有意义。