Nature-Nexus / utils /preprocess.py
smokxy's picture
add codebase
8c38d83
raw
history blame contribute delete
941 Bytes
import cv2
import torch
import numpy as np
import albumentations as A
from albumentations.pytorch import ToTensorV2
def preprocess_image(image, img_size=256):
"""
Preprocess the input image for model prediction
Args:
image: Input image (numpy array)
img_size: Size to resize image to (model was trained on 256x256)
Returns:
Preprocessed image tensor
"""
# Define the transformation
transform = A.Compose(
[
A.Resize(height=img_size, width=img_size),
A.Normalize(mean=(0.485, 0.456, 0.406), std=(0.229, 0.224, 0.225)),
ToTensorV2(),
]
)
# Apply the transformation
image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
augmented = transform(image=image)
image_tensor = augmented["image"]
# Add batch dimension
image_tensor = image_tensor.unsqueeze(0)
return image_tensor