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)