【发布时间】:2021-12-27 23:18:34
【问题描述】:
我正在尝试使用 OpenCV 将我训练的模型的结果转换为 png 图像。我的输出有 4 个通道,我不确定如何将这 4 个通道转换为 png。
# Load the model
model = CNNSEG()
model.load_state_dict(torch.load(PATH))
model.eval()
for iteration, sample in enumerate(test_data_loader):
img = sample
print(img.shape)
plt.imshow(img[0,...].squeeze(), cmap='gray') #visualise all images in test set
plt.pause(1)
# output the results
img_in = img.unsqueeze(1)
output = model(img_in) # shape: [2, 4, 96, 96]
如图所示,输出的形状为 [2, 4, 96, 96],分别是批量大小、通道、高度和宽度。那么如何将其转换为 png 图像呢?
【问题讨论】:
-
只做
imwrite,有什么问题?你调查过这个吗? -
@Mahrkeenerh,再看看形状。不适合 imwrite()
-
@berak 您可以遍历数组并一一写入。再次,有什么问题?还是您的意思是 rgba 是第一个维度?
标签: python opencv pytorch conv-neural-network image-segmentation