使用SimpleCV提取RGB
我用这张图片作为例子
我需要提取出RGB值,然后和所有颜色值进行比较,看看能不能找出里面是什么颜色,而不是直接写死颜色值。
比如我得到了(4,5,0),我判断这个颜色是红色。我不知道这是不是红色的真实值,但这只是一个例子。
我该如何从红色框框里面提取RGB值?又该如何查找与这些值对应的颜色呢?
这是我尝试过的:
img = Image('car.png')
pixel = img.getPixel(120, 150)
print(pixel)
这个方法可以获取到这些尺寸的RGB值,但我需要的是整个框框周围的平均值。
请解释一下解决方案,谢谢!
1 个回答
2
这是你应该做的事情:
width = XX
height = YY
#crops to (x1,y1) to (x2,y2) when x2>x1 and y2>y1
frame = img[width/4:(width/4+width/2), height/4:(height/4+height/2)]
然后,
r = np.array(frame[:,:,0])
avg_r = np.average(r)
对G和B也重复这个步骤。