繁体   English   中英

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

[英]Is there any way to find out the majority color in an image file in java?

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

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

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

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM