使用SimpleCV提取RGB

-6 投票
1 回答
616 浏览
提问于 2025-04-17 22:13

我用这张图片作为例子在这里输入图片描述

我需要提取出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也重复这个步骤。

撰写回答