Get RGB value opencv python

You can do

image[y, x, c]

or equivalently image[y][x][c].

and it will return the value of the pixel in the x,y,c coordinates. Notice that indexing begins at 0. So, if you want to access the third BGR (note: not RGB) component, you must do image[y, x, 2] where y and x are the line and column desired.

Also, you can get the methods available in Python for a given object by typing dir(<variable>). For example, after loading image, run dir(image) and you will get some usefull commands:

'cumprod', 'cumsum', 'data', 'diagonal', 'dot', 'dtype', 'dump', 'dumps', 'fill',
'flags', 'flat', 'flatten', 'getfield', 'imag', 'item', 'itemset', 'itemsize', 
'max', 'mean', 'min', ...

Usage: image.mean()


Get B G R color value of pixel in Python using opencv

import cv2
image = cv2.imread("sample.jpg")
color = int(image[300, 300])
# if image type is b g r, then b g r value will be displayed.
# if image is gray then color intensity will be displayed.
print color

output:

[ 73  89 102]

This code will print the red , green and blue value of pixel 300, 300:

img1 = cv2.imread('Image.png', cv2.IMREAD_UNCHANGED)
b,g,r = (img1[300, 300])
print (r)
print (g)
print (b)