Search code examples
pythonsimplecv

Extract RGB using simpleCV


I'll use this picture as an exampleenter image description here

I need to extract the RGB values and compare them with all of the color values to see if I can figure out which color is in it without hard coding it.

For example I get (4,5,0) and I determined this color = red. I don't know if those are the real values of red, but it's an example.

How can I extract the RGB values from the inside of the red box and how can I search for the color that corresponds to those values.

this is what I tried:

img = Image('car.png')

pixel = img.getPixel(120, 150)

print(pixel)

This retrieves the rgb on those dimensions, but I need an average around that whole box.

Please explain solution, thanks


Solution

  • Here's an idea of what you should do:

        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)]
    

    And then,

        r = np.array(frame[:,:,0])
        avg_r = np.average(r)
    

    Repeat for G and B.