确定图像是黑白图像还是彩色图像

问题描述:

有没有一种确定图像是灰度还是彩色的有效方法?通过高效,我不是指读取图像的所有像素,然后查找每个RGB值。确定图像是黑白图像还是彩色图像

例如,在Python中,映像库内部有一个名为'getcolors'的函数,它为整个图像返回一对散列{ (R G B) -> counter },我只需遍历该散列,只查找一个颜色条目。

UPDATE

对于这个职位的未来的读者:我实现了由像素的解决方案阅读像素的图像(如@npinti建议对他的链接),它似乎不够快,我(你应该花时间实施它,不会超过10分钟)。看起来,逐像素方式的Python实现非常糟糕(无效且速度慢)。

+1

您如何期待Python“getcolors”被实现? – 2012-02-01 10:46:01

+0

你如何看待Python中的库正在工作? *高效*和*易用*不是一回事,您可以自己编写这样的函数,如果您使用Scala等更高级的语言,则需要3行代码。 – 2012-02-01 10:46:13

+0

@TomaszNurkiewicz我从来没有说过_easy使用_,我知道它们不是一回事。我只是问你是否知道任何从图像中提取这种类型信息的函数库。 – 2012-02-01 10:50:36

如果您使用的是BufferedImagethis之前的SO帖子应该提供帮助。

+0

+1,它确实并没有回答这个问题 - 不,因为作者不想这样做,因为这是唯一的方法;-) – 2012-02-01 10:47:43

+0

是的@TomaszNurkiewicz说,我已经检查过该帖子,这正是我不想这样做的方式,但我会进一步挖掘它。 – 2012-02-01 10:56:18