CV2读取图片

本文详细介绍如何使用OpenCV读取并转换图像格式,包括从BGR到RGB的色彩空间转换,以及如何通过numpy库调整图像尺寸以适配神经网络输入要求。同时,介绍了在PyTorch框架中增加批次大小维度的方法。
部署运行你感兴趣的模型镜像

cv2.imread()

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

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

image[0][0]
# output:
# array([175, 197,239], dtype=uint8)

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

我们查看一下image[0][0]数组,可以看出是 [175, 197,239]

 

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([239, 197, 175], dtype=uint8)

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

我们查看一下image[0][0]数组,可以看出是 [239, 197, 175]

 

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)

您可能感兴趣的与本文相关的镜像

PyTorch 2.9

PyTorch 2.9

PyTorch
Cuda

PyTorch 是一个开源的 Python 机器学习库,基于 Torch 库,底层由 C++ 实现,应用于人工智能领域,如计算机视觉和自然语言处理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值