将归一化的CIELAB图像张量转换为RGB图像

时间:2020-06-17 08:49:37

标签: opencv image-processing pytorch tensor color-space

我在pytorch上训练了图像到图像的翻译模型,输入和输出图像在CIELAB颜色空间中。如何将其转换为RGB图像?简单地转换图像会导致某种剪裁并产生白色斑点。

out=model.forward(x)
out=torch.squeeze(out)
out=out.permute(1,2,0)
out=torch.from_numpy(out.data.numpy())
plt.imshow(out)

这不会产生白色斑块,但是我不能使用OpenCV并将其转换为RGB,因为值在0-1范围内。

CIELAB image in 0-1 range

现在,如果我将张量转换为PIL图像,然后转换为RGB(0-255),则会发生某种剪裁并产生白色斑块,甚至在转换为RGB之前就可见

out=model.forward(x)
out=torch.squeeze(out)
out=np.asarray(transforms.ToPILImage()(out))
plt.imshow(out)

CIELAB with white patches

使用out=cv2.cvtColor(out, cv2.COLOR_LAB2RGB)进行转换后的白色补丁

White patches in RGB

如何将CIELAB图像正确转换为RGB?

0 个答案:

没有答案