Spaces:
Runtime error
Runtime error
| from torchvision import transforms | |
| def normalize_lab(L, ab): | |
| """ | |
| Normalize the L and ab channels of an image in Lab color space. | |
| (Even though ab channels are in [-128, 127] range, we divide them by 110 because higher values are very rare. | |
| This makes the distribution closer to [-1, 1] in most cases.) | |
| """ | |
| L = L / 50. - 1. | |
| ab = ab / 110. | |
| return L, ab | |
| def denormalize_lab(L, ab): | |
| """ | |
| Denormalize the L and ab channels of an image in Lab color space. | |
| (reverse of normalize_lab function) | |
| """ | |
| L = (L + 1) * 50. | |
| ab = ab * 110. | |
| return L, ab | |
| def decide_size(image): | |
| height = image.size[1] | |
| width = image.size[0] | |
| new_height = 256 | |
| new_width = 256 | |
| while new_height < height: | |
| new_height *= 2 | |
| while new_width < width: | |
| new_width *= 2 | |
| return new_height, new_width | |
| def pad_image(image): | |
| height = image.size[1] | |
| width = image.size[0] | |
| new_height, new_width = decide_size(image) | |
| pad_height = new_height - height | |
| pad_width = new_width - width | |
| padding = (0, 0, pad_width, pad_height) | |
| image = transforms.Pad(padding, padding_mode='reflect')(image) | |
| return image |