import tensorflow as tf import cv2 import numpy as np def load_model(model_name): model = tf.keras.models.load_model(f"{model_name}.h5") return model def preprocess_image(image): image = cv2.resize(image, (512, 512)) image = (image / 127.5) - 1.0 # Normalize to [-1, 1] image = np.expand_dims(image, axis=0) return image def generate_anime_image(image): model = load_model("AnimeGANv2_Hayao") preprocessed = preprocess_image(image) generated = model.predict(preprocessed) generated = (generated[0] + 1) * 127.5 # Convert back to [0, 255] return np.clip(generated, 0, 255).astype(np.uint8)