Spaces:
Sleeping
Sleeping
File size: 1,508 Bytes
70be616 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
import numpy as np
import torch
from PIL import Image
from torchvision.transforms.functional import pil_to_tensor
def convert_pil_to_normalized_tensor(image: Image) -> torch.Tensor:
return pil_to_tensor(image).unsqueeze(0).float()
def convert_normalized_tensor_to_np_image(image: torch.Tensor) -> np.array:
return image.clip(0, 1).squeeze(0).permute(1, 2, 0).detach().cpu().numpy()
def add_position_pattern(
x: torch.Tensor,
y: torch.Tensor,
module_num: int,
module_size: int
) -> torch.Tensor:
x[: 8 * module_size - 1, : 8 * module_size - 1, :] = \
y[: 8 * module_size - 1, : 8 * module_size - 1, :]
x[
(module_num - 8) * module_size + 1 : module_num * module_size,
: 8 * module_size - 1,
:
] = y[
(module_num - 8) * module_size + 1 : module_num * module_size,
: 8 * module_size - 1,
:
]
x[
: 8 * module_size - 1,
(module_num - 8) * module_size + 1 : module_num * module_size,
:
] = y[
: 8 * module_size - 1,
(module_num - 8) * module_size + 1 : module_num * module_size,
:
]
x[
(module_num - 9) * module_size : (module_num - 4) * module_size - 1,
(module_num - 9) * module_size : (module_num - 4) * module_size - 1,
:
] = y[
(module_num - 9) * module_size : (module_num - 4) * module_size - 1,
(module_num - 9) * module_size : (module_num - 4) * module_size - 1,
:
]
return x
|