1.load image
import cv2
img = cv2.imread('messi5.jpg')
2.access pixel values RGB
px = img[100,100] #2.1.通过坐标 获取 (100,100)的RGB pixel值为 (157,166,200)
#r,g,b= cv2.split(img) #2.2.通过split 分离颜色通道获取RGB,注意,png 有四个通道RGBA
blue_px = img[100,100,2] #red:0,green:1,blue:2 获取单个pixel值
3.img.shape 返回图片的(rows,columns[,channels])
shape = img.shape #返回(342, 548, 3) 3代表RGB三个channels, color image才会返回channel,grayscale image 没有第三个参数
4.img.size 返回图片pixel 总数
5.ROI certain region of image 图片中的某一区域
#复制图片中的一部分到另一个地方
part = img[y1:y2, x1:x2]
img[y3:y4, x3:x4] = part
6.分离,合并图片通道
b,g,r = cv2.split(img) # 注意!是split 的结果是BGR的顺序,不是RGB. 如果是png 有四个通道:blue,green,red,alpha
b = img[:,:,0] #只拿blue
img[:,:,2] = 0 #把red 都变成0
img = cv2.merge((b,g,r)) #合并
7.图片RGB
color image 三个channel 下的图片
import cv2
img=cv2.imread('rgb.png')
cv2.imshow('B',img[:,:,0])
cv2.imshow('G',img[:,:,1])
cv2.imshow('R',img[:,:,2])
#OR
#b,g,r=cv2.split(img) # be aware that b,g,r! not r,g,b
cv2.waitKey()