fix image geneartion
Browse files- app.py +17 -14
- default.jpeg +0 -0
app.py
CHANGED
|
@@ -62,24 +62,28 @@ def maskHead(input):
|
|
| 62 |
return output_image
|
| 63 |
|
| 64 |
def random_positioning(input, output_size=(1024, 1024)):
|
| 65 |
-
|
| 66 |
-
|
|
|
|
|
|
|
|
|
|
| 67 |
|
|
|
|
|
|
|
|
|
|
| 68 |
scale_factor = random.uniform(0.5, 1.0)
|
|
|
|
| 69 |
|
| 70 |
-
|
| 71 |
-
|
| 72 |
-
|
| 73 |
-
|
| 74 |
-
|
| 75 |
-
|
| 76 |
x_offset = random.randint(0, output_size[0] - new_size[0])
|
| 77 |
y_offset = random.randint(0, output_size[1] - new_size[1])
|
| 78 |
-
|
| 79 |
background[y_offset:y_offset+new_size[1], x_offset:x_offset+new_size[0]] = resized_image
|
| 80 |
-
|
| 81 |
-
background = background.astype(np.uint8)
|
| 82 |
-
|
| 83 |
return background
|
| 84 |
|
| 85 |
|
|
@@ -112,7 +116,7 @@ def execute(image, prompt):
|
|
| 112 |
img = cv2.imread(image)
|
| 113 |
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
|
| 114 |
|
| 115 |
-
imgs = [ random_positioning(img)]
|
| 116 |
|
| 117 |
pipe.load_lora_weights("XLabs-AI/flux-RealismLora", weight_name='lora.safetensors')
|
| 118 |
response = []
|
|
@@ -154,7 +158,6 @@ def execute(image, prompt):
|
|
| 154 |
description = "This is an unofficial implementation of the ip face adapter for FLUX DEV and does not explicitly follow the ip face model, I created a wrapper with inpaint and mediapipe, I like using Fake IP Adapter"
|
| 155 |
title = "Flux IP Face Adapter"
|
| 156 |
iface = gr.Interface(
|
| 157 |
-
theme=gr.themes.Glass(),
|
| 158 |
fn=execute,
|
| 159 |
description=description,
|
| 160 |
title=title,
|
|
|
|
| 62 |
return output_image
|
| 63 |
|
| 64 |
def random_positioning(input, output_size=(1024, 1024)):
|
| 65 |
+
background = cv2.imread("default.jpeg")
|
| 66 |
+
if background is None:
|
| 67 |
+
raise ValueError("Unable to load background image")
|
| 68 |
+
|
| 69 |
+
background = cv2.resize(background, output_size, interpolation=cv2.INTER_AREA)
|
| 70 |
|
| 71 |
+
if input_image is None:
|
| 72 |
+
raise ValueError("Unable to load input image")
|
| 73 |
+
|
| 74 |
scale_factor = random.uniform(0.5, 1.0)
|
| 75 |
+
new_size = (int(input_image.shape[1] * scale_factor), int(input_image.shape[0] * scale_factor))
|
| 76 |
|
| 77 |
+
resized_image = cv2.resize(input_image, new_size, interpolation=cv2.INTER_AREA)
|
| 78 |
+
|
| 79 |
+
if background.shape[2] != resized_image.shape[2]:
|
| 80 |
+
raise ValueError("Input image and background image must have the same number of channels")
|
| 81 |
+
|
|
|
|
| 82 |
x_offset = random.randint(0, output_size[0] - new_size[0])
|
| 83 |
y_offset = random.randint(0, output_size[1] - new_size[1])
|
| 84 |
+
# Sobrepor a imagem redimensionada na imagem de fundo
|
| 85 |
background[y_offset:y_offset+new_size[1], x_offset:x_offset+new_size[0]] = resized_image
|
| 86 |
+
|
|
|
|
|
|
|
| 87 |
return background
|
| 88 |
|
| 89 |
|
|
|
|
| 116 |
img = cv2.imread(image)
|
| 117 |
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
|
| 118 |
|
| 119 |
+
imgs = [ random_positioning(img), random_positioning(img)]
|
| 120 |
|
| 121 |
pipe.load_lora_weights("XLabs-AI/flux-RealismLora", weight_name='lora.safetensors')
|
| 122 |
response = []
|
|
|
|
| 158 |
description = "This is an unofficial implementation of the ip face adapter for FLUX DEV and does not explicitly follow the ip face model, I created a wrapper with inpaint and mediapipe, I like using Fake IP Adapter"
|
| 159 |
title = "Flux IP Face Adapter"
|
| 160 |
iface = gr.Interface(
|
|
|
|
| 161 |
fn=execute,
|
| 162 |
description=description,
|
| 163 |
title=title,
|
default.jpeg
ADDED
|