File size: 638 Bytes
bde33c6
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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)