|
from typing import Tuple, Optional |
|
|
|
import numpy as np |
|
from PIL import Image |
|
from imgutils.data import rgb_encode |
|
|
|
|
|
def _img_encode(image: Image.Image, size: Tuple[int, int] = (384, 384), |
|
normalize: Optional[Tuple[float, float]] = (0.5, 0.5)): |
|
image = image.resize(size, Image.BILINEAR) |
|
data = rgb_encode(image, order_='CHW') |
|
|
|
if normalize is not None: |
|
mean_, std_ = normalize |
|
mean = np.asarray([mean_]).reshape((-1, 1, 1)) |
|
std = np.asarray([std_]).reshape((-1, 1, 1)) |
|
data = (data - mean) / std |
|
|
|
return data.astype(np.float32) |
|
|