R,G,B各自都是矩阵,可以单独成像,长宽对应图片的长宽;也可以一起组成三维矩阵,彩色成像,通道个数就是3,一个像素点有三层,就像由RGB三张矩形平面叠起来

numpy自定义二维数组是类型为默认,或者dtype 为numpy.uint8时,使用cv2才能成像
import numpy as np
import cv2
b=np.empty([300,300 ])
b[:,: ]=255
print(b[:3,:4])
print('-----'*10)
g=np.empty([300,300 ])
g[:,:]=0
print(g[:3,:4])
print('-----'*10)
r=np.empty([300,300 ])
r[:,:]=0
print(r[:3,:4])
print('-----'*10)
img = cv2.merge([b, g, r])
print(img[:3,:4])
cv2.imshow('merge',img)
cv2.waitKey()
输出
[[255. 255. 255. 255.]
[255. 255. 255. 255.]
[255. 255. 255. 255.]]
--------------------------------------------------
[[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]]
--------------------------------------------------
[[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]]
--------------------------------------------------
[[[255. 0. 0.]
[255. 0. 0.]
[255. 0. 0.]
[255. 0. 0.]]
[[255. 0. 0.]
[255. 0. 0.]
[255. 0. 0.]
[255. 0. 0.]]
[[255. 0. 0.]
[255. 0. 0.]
[255. 0. 0.]
[255. 0. 0.]]]
