如何在opencv中检测颜色?

时间:2014-06-03 04:07:02

标签: python opencv

我想制作一个从网络摄像头获取输入(彩色纸)的程序,输出是纸张颜色的字符串。例如,如果我在网络摄像头前面拿着一张蓝纸,它会告诉我“蓝色”。

1 个答案:

答案 0 :(得分:2)

如果打开cv不是您的必需,请使用PIL库。 这是一个打开图像并查找主色的功能。

import urllib2
import ImageFile

image_url = "/path of the file"
opener1 = urllib2.build_opener()
page1=opener1.open(image_url)

p = ImageFile.Parser()

while 1:
    s = page1.read(1024)
    if not s:
        break
    p.feed(s)

im = p.close()
r,g,b = im.getpixel((0,0))

根据RGB值,您可以决定颜色是什么。 我希望它有所帮助..

编辑:你也可以使用它的getcolors() function。 im.getcolors(maxcolors)⇒(计数,颜色)元组列表或无

它返回一个未排序的(计数,颜色)元组列表,其中count是图像中相应颜色出现的次数。