comvis_backend / preprocess.py
thomatomb's picture
Deploy Pneumonia Detection API
7a9582d
Raw
History Blame Contribute Delete
624 Bytes
import numpy as np
from PIL import Image
import io
IMG_SIZE = (224, 224)
def preprocess_image(image_bytes: bytes) -> np.ndarray:
image = Image.open(io.BytesIO(image_bytes)).convert("RGB")
image = image.resize(IMG_SIZE)
# Tidak perlu normalisasi manual (/255) karena preprocess_input
# sudah ter-embed di dalam graph model saat training.
# VGG16 → applications.vgg16.preprocess_input (BGR + mean subtraction)
# DenseNet121 → applications.densenet.preprocess_input (scale ke [-1,1])
array = np.array(image, dtype=np.float32)
return np.expand_dims(array, axis=0) # shape: (1, 224, 224, 3)