YepoHz commited on
Commit
203f163
·
verified ·
1 Parent(s): e1bb76a

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +6 -18
app.py CHANGED
@@ -9,19 +9,15 @@ import subprocess
9
  # Crear carpetas necesarias
10
  INPUT_DIR = "batch_images"
11
  OUTPUT_DIR = "batch_results"
12
- RESULTS_DIR = "comparaciones"
13
  os.makedirs(INPUT_DIR, exist_ok=True)
14
  os.makedirs(OUTPUT_DIR, exist_ok=True)
15
- os.makedirs(RESULTS_DIR, exist_ok=True)
16
 
17
  def face_swap_batch(rb_img, lote_imgs):
18
  # Limpiar carpetas anteriores
19
  shutil.rmtree(INPUT_DIR, ignore_errors=True)
20
  shutil.rmtree(OUTPUT_DIR, ignore_errors=True)
21
- shutil.rmtree(RESULTS_DIR, ignore_errors=True)
22
  os.makedirs(INPUT_DIR, exist_ok=True)
23
  os.makedirs(OUTPUT_DIR, exist_ok=True)
24
- os.makedirs(RESULTS_DIR, exist_ok=True)
25
 
26
  # Guardar rostro base
27
  rb_path = os.path.join(INPUT_DIR, "RB.jpg")
@@ -49,23 +45,15 @@ def face_swap_batch(rb_img, lote_imgs):
49
  "--frame-processor", "face_swapper", "face_enhancer"
50
  ])
51
 
52
- # Comparaciones lado a lado
53
  resultados = []
54
  for path in img_paths:
55
  filename = os.path.basename(path)
56
- original = Image.open(path).resize((256, 256))
57
  generado_path = os.path.join(OUTPUT_DIR, f"swapped_{filename}")
58
- if not os.path.exists(generado_path):
59
- continue
60
- generado = Image.open(generado_path).resize((256, 256))
61
- combinado = Image.new("RGB", (512, 256))
62
- combinado.paste(original, (0, 0))
63
- combinado.paste(generado, (256, 0))
64
- out_path = os.path.join(RESULTS_DIR, f"comparado_{filename}")
65
- combinado.save(out_path)
66
- resultados.append(out_path)
67
 
68
- # Devolver resultado: zip o imagen única
69
  if len(resultados) == 1:
70
  return resultados[0]
71
  else:
@@ -82,7 +70,7 @@ gr.Interface(
82
  gr.Image(label="🧠 Rostro base", type="pil"),
83
  gr.File(label="🖼️ Imágenes por lote", file_types=["image"], file_count="multiple")
84
  ],
85
- outputs=gr.File(label="📦 Descargar ZIP o imagen"),
86
  title="Deep Fake Lote - Yepo Hz",
87
- description="Sube una imagen de rostro base y varias imágenes objetivo. El sistema aplicará el cambio de rostro en lote. Resultado visual lado a lado."
88
  ).launch()
 
9
  # Crear carpetas necesarias
10
  INPUT_DIR = "batch_images"
11
  OUTPUT_DIR = "batch_results"
 
12
  os.makedirs(INPUT_DIR, exist_ok=True)
13
  os.makedirs(OUTPUT_DIR, exist_ok=True)
 
14
 
15
  def face_swap_batch(rb_img, lote_imgs):
16
  # Limpiar carpetas anteriores
17
  shutil.rmtree(INPUT_DIR, ignore_errors=True)
18
  shutil.rmtree(OUTPUT_DIR, ignore_errors=True)
 
19
  os.makedirs(INPUT_DIR, exist_ok=True)
20
  os.makedirs(OUTPUT_DIR, exist_ok=True)
 
21
 
22
  # Guardar rostro base
23
  rb_path = os.path.join(INPUT_DIR, "RB.jpg")
 
45
  "--frame-processor", "face_swapper", "face_enhancer"
46
  ])
47
 
48
+ # Devolver solo las imágenes generadas
49
  resultados = []
50
  for path in img_paths:
51
  filename = os.path.basename(path)
 
52
  generado_path = os.path.join(OUTPUT_DIR, f"swapped_{filename}")
53
+ if os.path.exists(generado_path):
54
+ resultados.append(generado_path)
 
 
 
 
 
 
 
55
 
56
+ # ZIP o imagen suelta
57
  if len(resultados) == 1:
58
  return resultados[0]
59
  else:
 
70
  gr.Image(label="🧠 Rostro base", type="pil"),
71
  gr.File(label="🖼️ Imágenes por lote", file_types=["image"], file_count="multiple")
72
  ],
73
+ outputs=gr.File(label="📦 Descargar resultado"),
74
  title="Deep Fake Lote - Yepo Hz",
75
+ description="Sube una imagen de rostro base y varias imágenes objetivo. El sistema aplicará el cambio de rostro en lote y te permitirá descargar las imágenes finales."
76
  ).launch()