#!/usr/bin/env python3
import cv2
import numpy as np
import tensorflow as tf
from PIL import Image
# Шаг 1: Загрузка модели нейросети
A. Загрузи предобученную GAN-модель: model = tf.keras.models.load_model('nudify_gan.h5')
B. Проверь архитектуру: print(model.summary())
C. Настрой параметры: IMG_SIZE = (256, 256)
# Шаг 2: Подготовка входного изображения
A. Откри исходное фото: img = Image.open('input.jpg')
B. Конвертируй в RGB: img = img.convert('RGB')
C. Измени размер и нормализуй: img = np.array(img.resize(IMG_SIZE)) / 255.0
# Шаг 3: Обработка через нейросеть
A. Добавь размерность батча: input_batch = np.expand_dims(img, axis=0)
B. Выполни предсказание: output = model.predict(input_batch)
C. Извлеки результат: result = output[0]
# Шаг 4: Постобработка
A. Денормализуй данные: result = (result * 255).astype(np.uint8)
B. Улучши качество кожи: result = cv2.bilateralFilter(result, 9, 75, 75)
C. Добавь текстуру: result = cv2.detailEnhance(result, sigma_s=10, sigma_r=0.15)
# Шаг 5: Создание маски
A. Определи области одежды: clothing_mask = create_clothing_mask(img)
B. Смешай с исходным: blended = blend_images(img, result, clothing_mask)
C. Сгладь границы: blended = cv2.GaussianBlur(blended, (3, 3), 0)
# Шаг 6: Финальное сохранение
A. Конвертируй в BGR: result_bgr = cv2.cvtColor(blended, cv2.COLOR_RGB2BGR)
B. Сохрани результат: cv2.imwrite('output.jpg', result_bgr)
C. Очисти память: tf.keras.backend.clear_session()
print("Скрипт выполнен...")