File size: 696 Bytes
7bc515a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import numpy as np
from PIL import Image

def preprocess(image_path, input_size=(224, 224)):
    """Load and preprocess image for ResNet50."""
    img = Image.open(image_path).convert('RGB')
    img = img.resize(input_size, Image.BICUBIC)
    img_array = np.array(img, dtype=np.float32)
    # ImageNet normalization: (img/255 - mean) / std
    mean = np.array([0.485, 0.456, 0.406], dtype=np.float32)
    std = np.array([0.229, 0.224, 0.225], dtype=np.float32)
    img_array = img_array / 255.0
    img_array = (img_array - mean) / std
    # HWC -> CHW -> NCHW
    img_array = img_array.transpose(2, 0, 1)
    img_array = np.expand_dims(img_array, axis=0)
    return img_array.astype(np.float32)