分割图像通道:
通过函数mv=split(img);mv返回的通道;
RGB有3个通道;灰度图只有一个通道;
b,g,r= cv2.split(img)
cv2.imshow("b",b)#通道b
cv2.imshow("g",g)#通道g
cv2.imshow("r",r)#通道r
合并图像通道:cv2.merge((b,g,r))
plt.hist(img.ravel(),256,[0,256])
b,g,r= cv2.split(img)
cv2.imshow("b",b)
cv2.imshow("g",g)
cv2.imshow("r",r)
img1=cv2.merge((b,g,r))#合并图像通道
cv2.imshow("img", img1)
cv2.waitKey(0)
修改图像中某区域的颜色:
img[10:100,10:100]=0
表示将图像img的行索引从10到100(不包括100)和列索引从10到100(不包括100)的区域像素值设置为0。这里的10和100是索引的起始值和终止值。
b,g,r= cv2.split(img)
cv2.imshow("b",b)
cv2.imshow("g",g)
cv2.imshow("r",r)
b[10:100, 10:100] = 255 #
g[10:100, 10:100] = 255
#合并后该区域的颜色为(255,255,原像素值)
img1=cv2.merge((b,g,r))#合并图像通道
cv2.imshow("img", img1)
cv2.waitKey(0)