Преобразование нормализованного тензора изображения CIELAB в изображение RGB - PullRequest
0 голосов
/ 17 июня 2020

Я обучил изображение модели преобразования изображения на 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?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...