欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

CV2读取图片

程序员文章站 2022-03-20 17:49:50
...

cv2.imread()

现在我们使用cv2.imread()来读取一张照片,

image = cv2.imread('image_name.jpg')
image.shape
# output:(96, 64, 3)

image[0][0]
# output:
# array([59, 62, 71], dtype=uint8)

可以看出output为(96, 64, 3),其中,96代表图片高度,64代表图片宽度,3代表通道为BGR。

我们查看一下image[0][0]数组,可以看出是 [59, 62, 71]

 

cv2.cvtColor()

如果我们使用cv2.cvtColor(image, cv2.COLOR_BGR2RGB),来将BGR转换为RGB,

image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
image.shape
#output:(96, 63, 3)

image[0][0]
# output:
# array([71, 62, 59], dtype=uint8)

还是(96, 64, 3),只不过每组元素最里面的三位数字发生了转化。

我们查看一下image[0][0]数组,可以看出是 [71, 62, 59]

 

np.transpose()

当我们需要把这些数组输入神经网络的时候,我们还需要将格式由[h, w, c]转换为[c, h, w]。

这时我们可以使用:

image = np.transpose(image, [2, 0, 1])
image.shape
# output:(3, 96, 64)

# 如果要输入至pytorch,我们需要增加一个batch_size维度
image = np.expand_dims(image, axis=0)
image.shape
# output:(1, 3, 96, 64)