我已经阅读了一些关于寻找图像调色板的问题,但我的问题略有不同。我正在寻找由纯色组成的图像:开阔的天空,五颜六色的照片背景,红砖墙等。
到目前为止,我已经使用App Engine Image.histogram()函数生成了一个直方图,过滤掉低于某个发生阈值的值,并将其余的值平均下来。这似乎仍然留在许多无关的照片中,在其他照片的混合袋子中有纯色的斑点。
任何想法都非常感谢!
发布于 2010-06-24 10:26:49
这样做怎么样?
发布于 2010-06-28 17:27:16
在我看来,直方图不是执行此任务的理想工具,因为它通常会分别查看每个颜色通道,而您会像这样丢失信息。例如,如果你得到255个红色,绿色和蓝色的峰值,这可能意味着图像中有很多红色(0xFF0000),绿色(0x00FF00)和蓝色( 0x0000FF),或者整个图像完全是白色( 0xFFFFFF)。
我建议您在图像上使用颜色量化算法:http://en.wikipedia.org/wiki/Color_quantization,并让它返回16种最主要的颜色。然后可能会将它们转换为HSL,并检查具有高饱和度的值。
https://stackoverflow.com/questions/3106788
复制相似问题