图片截取与截取颜色通道:
import cv2# 默认读取格式为BGR
import matplotlib.pyplot as plt
import numpy as np
#图片显示
def cv_show(name,img):
cv2.imshow(name,img)
#等待时间,毫秒级,0表示任意键终止
cv2.waitKey(0)#任意键终止cv2.waitKey(1000)为显示1000ms
cv2.destroyAllWindows()
#截取部分图像数据
img = cv2.imread('text-photo.jpg')
cake = img[0:50,0:200]#数组切片,height:50,width:200
cv_show('cake',cake)
#颜色通道提取
b,g,r = cv2.split(img)#b g r 顺序
print(b,b.shape)
#b g r 组合
img = cv2.merge((b,g,r))
print(img.shape)
#只保留单独通道
#只保留R
cur_img1 = img.copy()
cur_img1[:,:,0] = 0
cur_img1[:,:,1] = 0
cv_show('R_cake',cur_img1)
#只保留G
cur_img2 = img.copy()
cur_img2[:,:,0] = 0
cur_img2[:,:,2] = 0
cv_show('G_cake',cur_img2)
# 只保留B
cur_img3 = img.copy()
cur_img3[:,:,1] = 0
cur_img3[:,:,2] = 0
cv_show('B_cake',cur_img3)
运行结果: