1. 截取图片的部分区域img[0:200, 0:200], 读入的图片是ndarray格式

2. b, g, r = cv2.split(img)  # 对图片的颜色通道进行拆分

3.img = cv2.merge((b, g, r))  #对图片的颜色通道进行合并

4. 对其他通道置零,只显示单个通道 cur_img[:, :, 0] = 0, cur_img[:, :, 1] = 0

 

代码:

只显示部分区域

import cv2


# 定义显示函数
def cv_show(name, img):
    cv2.imshow(name, img)
    cv2.waitKey(0)
    cv2.destroyAllWindows()

# 截取图片的部分进行显示
img = cv2.imread('cat.jpg')
cat = img[0:200, 0:200]
cv_show('cat', cat)

颜色通道的拆分

# cv2.split进行颜色通道的拆分
b, g, r = cv2.split(img)

颜色通道的合并

# cv2.merge 将颜色通道进行合并
image = cv2.merge((b, g, r))
cv_show('new_cat', image)

只显示单个颜色通道,对其他颜色通道赋值为0 

# 只显示一个通道的颜色
# 只显示红色通道
cur_img = image.copy()
cur_img[:, :, 0] = 0
cur_img[:, :, 1] = 0
cv_show('R', cur_img)
# 只显示绿色通道
cur_img = image.copy()
cur_img[:, :, 1] = 0
cur_img[:, :, 2] = 0
cv_show('B', cur_img)
# 只显示蓝色通道
cur_img = image.copy()
cur_img[:, :, 0] = 0
cur_img[:, :, 2] = 0
cv_show('G', cur_img)

posted on 2019-02-17 11:00  python我的最爱  阅读(5214)  评论(0编辑  收藏  举报