python opencv mat属性及其拆分、合并

4 阅读1分钟

import cv2
import numpy as np
## Mat
# Mat()其他函数
# cv::Mat::shape
# cv::Mat::size
# dtype

# img = cv2.imread('../img/rmb.jpg')
img = np.zeros((480,640,3), dtype=np.uint8)

#shape属性中包括了三个信息
# #高度,长度 和 通道数
print( img.shape) # --(274, 550, 3)

#图像占用多大空间
# 长度 *通道数* 高度
print(img.size) #-- 452100

# 图像的位深
print(img.dtype) #  --uint8

b,g,r = cv2.split(img) # 拆分图像通道为bgr

# 修改通道颜色值
b[10:100,10:100] = [255] 
g[10:100,10:100] = [255]

# 合并通道
img2 = cv2.merge([b,g,r])

cv2.imshow('img', img)
cv2.imshow('b', b)
cv2.imshow('g', g)
cv2.imshow('img2', img2)

cv2.waitKey(0)