pull/118/head
Tran Xen 2023-07-01 13:56:33 +02:00
parent cbf817fad3
commit aefc80ac1e
2 changed files with 19 additions and 3 deletions

View File

@ -462,7 +462,9 @@ class FaceSwapScript(scripts.Script):
infos = [None] * len(images)
for i, (img, info) in enumerate(zip(images, infos)):
if convert_to_sd(img) :
return(images,infos)
result_infos.append(info)
result_images.append(img)
continue
if not unit.blend_faces :
src_faces = unit.faces
logger.info(f"will generate {len(src_faces)} images")

View File

@ -5,8 +5,11 @@ from typing import List, Union, Dict, Set, Tuple
from scripts.roop_logging import logger
from PIL import Image
import numpy as np
from modules import scripts, shared
from scripts import swapper, imgutils
from modules import scripts, shared, processing
from modules.processing import (Processed, StableDiffusionProcessing,
StableDiffusionProcessingImg2Img,
StableDiffusionProcessingTxt2Img)
@dataclass
class UpscaleOptions:
@ -63,3 +66,14 @@ def upscale_image(image: Image.Image, upscale_options: UpscaleOptions):
logger.info("Failed to upscale %s", e)
return result_image
def img2img_diffusion(img, prompt) :
faces = swapper.get_faces(imgutils.pil_to_cv2(img))
if faces:
for face in faces:
bbox = face.bbox.astype(int)
x_min, y_min, x_max, y_max = bbox
face_image = img.crop((x_min, y_min, x_max, y_max))
i2i_p = StableDiffusionProcessingImg2Img([face_image], width = img.width, height = img.height, prompt = prompt, denoising_strength=0.1)
i2i_processed = processing.process_images(i2i_p)
return i2i_processed.images