#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""Remove fundo das fotos do Borrello com rembg (modelo birefnet-general para melhor recorte de cabelo)."""
import sys
from pathlib import Path
from rembg import remove, new_session
from PIL import Image
import io

FOTOS = Path("/opt/mia/workspace/clientes/borrello/fotos_banner/FOTOS BORRELLO")
DEST = FOTOS / "sem_fundo"
DEST.mkdir(parents=True, exist_ok=True)

# Fotos usadas no lote 2 (e potencialmente noutros lotes)
ARQUIVOS = ["_MG_9391.jpg", "_MG_9366.jpg", "_MG_9299.jpg", "_MG_9425.jpg"]

# Modelo alto detalhe (birefnet-general) - melhor pra cabelo/oculos
# Fallback: isnet-general-use se birefnet nao rodar
try:
    session = new_session("birefnet-general")
    modelo = "birefnet-general"
except Exception as e:
    print(f"birefnet-general falhou: {e}, tentando isnet-general-use")
    session = new_session("isnet-general-use")
    modelo = "isnet-general-use"

print(f"Usando modelo: {modelo}")

for nome in ARQUIVOS:
    src = FOTOS / nome
    if not src.exists():
        print(f"NAO ENCONTRADO: {src}")
        continue
    dest = DEST / (Path(nome).stem + ".png")
    with open(src, "rb") as f:
        inp = f.read()
    out = remove(inp, session=session)
    with open(dest, "wb") as f:
        f.write(out)
    # Verifica
    img = Image.open(dest)
    print(f"OK {nome} -> {dest.name} ({img.size}, mode={img.mode})")

print("\nDONE")
