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)
上一篇: 一文秒懂python正则表达式常用函数