本人在使用save_image函数存储多通道图像时,出现了此错误。
其本质是代表图像通道数的维度错误导致。由于save_image函数的通道维度为0号位。
由于cv2程序库的通道维度为2号位,导致处理过的图片无法直接使用save_image函数。所以需要调整维度,这里我选择transpose函数。
主要程序如下:
image = cv2.imread('####################') # cv2读取格式:ndarray (656,875,3)
plt.imshow(image)
plt.show()
img = img.transpose(2,1,0) # save_image 输入格式:torch (3,w,h)
save_image(torch.tensor(img), '###################')
# tip:save_image函数只接受torch,或装载torch的list,所以要将读取的数组转为torch