可以使用以下代码将图片张量转换为指定的形状 [n, 1, 640, 640]:
import torch
from PIL import Image
import numpy as np
# 读取图片
image = Image.open("image.jpg")
# 将图片转换为灰度图像(可根据需求进行修改)
gray_image = image.convert("L")
# 调整图像大小为指定尺寸
resized_image = gray_image.resize((640, 640))
# 将灰度图像转换为NumPy数组
image_array = np.array(resized_image)
# 将NumPy数组转换为张量并添加维度
tensor_image = torch.from_numpy(image_array).unsqueeze(0).unsqueeze(0)
print(tensor_image.shape) # 输出: torch.Size([1, 1, 640, 640])
这样,你就得到了形状为 [n, 1, 640, 640] 的张量 tensor_image。请注意,这里假设原始图片已经是灰度图像,并且已经调整到了指定的尺寸 (640, 640)。如果原始图片不是灰度图像或者尺寸不符合要求,可能需要进行进一步的处理。
内容由零声教学AI助手提供,问题来源于学员提问




