Spaces:
Sleeping
Sleeping
Update faceless_processing.py
Browse files- faceless_processing.py +15 -14
faceless_processing.py
CHANGED
|
@@ -131,22 +131,23 @@ class LineartConfig:
|
|
| 131 |
mask_open_iterations: int = 1
|
| 132 |
mask_smooth_ksize: int = 5
|
| 133 |
mask_smooth_threshold: int = 128
|
| 134 |
-
min_silhouette_area: float = 200.0
|
| 135 |
-
|
| 136 |
# Silhouette outline
|
| 137 |
silhouette_line_thickness: int = 4
|
| 138 |
|
|
|
|
|
|
|
|
|
|
| 139 |
# --- Neural line-art parameters ---
|
| 140 |
lineart_detect_resolution: int = 1024
|
| 141 |
lineart_image_resolution: int = 1024
|
| 142 |
lineart_coarse: bool = True
|
| 143 |
|
| 144 |
# AUMENTADO: Força bruta para ignorar detalhes fracos
|
| 145 |
-
lineart_threshold: int =
|
| 146 |
|
| 147 |
-
#
|
| 148 |
-
lineart_min_perimeter: float =
|
| 149 |
-
lineart_min_area: float =
|
| 150 |
lineart_morph_open: bool = True
|
| 151 |
force_canny: bool = False
|
| 152 |
|
|
@@ -946,7 +947,7 @@ def make_faceless_lineart(img: Image.Image, cfg: LineartConfig = None) -> Image.
|
|
| 946 |
cfg.erase_borders = False
|
| 947 |
|
| 948 |
# Parâmetros equilibrados para traços nítidos e bordáveis
|
| 949 |
-
cfg.lineart_threshold =
|
| 950 |
cfg.lineart_min_perimeter = 45.0
|
| 951 |
cfg.lineart_min_area = 20.0
|
| 952 |
cfg.lineart_morph_open = True
|
|
@@ -969,18 +970,18 @@ def make_faceless_lineart(img: Image.Image, cfg: LineartConfig = None) -> Image.
|
|
| 969 |
elif len(faces) > 0 and not getattr(cfg, 'custom_tuned_for_embroidery', False):
|
| 970 |
# Retrato de humanos/família: liberamos mais detalhes de roupas, braços e dobras de forma limpa!
|
| 971 |
print("[lineart] Human faces detected. Adjusting parameters to preserve clothing and body details.")
|
| 972 |
-
cfg.lineart_threshold =
|
| 973 |
-
cfg.lineart_min_perimeter =
|
| 974 |
-
cfg.lineart_min_area =
|
| 975 |
cfg.lineart_morph_open = True
|
| 976 |
|
| 977 |
# Canny parameters (caso de fallback)
|
| 978 |
-
cfg.canny_low =
|
| 979 |
-
cfg.canny_high =
|
| 980 |
-
cfg.min_contour_perimeter =
|
| 981 |
|
| 982 |
# Mantém a limpeza por proximidade para ficar bordável de forma profissional
|
| 983 |
-
cfg.min_line_distance =
|
| 984 |
cfg.line_overlap_threshold = 0.35
|
| 985 |
cfg.custom_tuned_for_embroidery = True
|
| 986 |
|
|
|
|
| 131 |
mask_open_iterations: int = 1
|
| 132 |
mask_smooth_ksize: int = 5
|
| 133 |
mask_smooth_threshold: int = 128
|
|
|
|
|
|
|
| 134 |
# Silhouette outline
|
| 135 |
silhouette_line_thickness: int = 4
|
| 136 |
|
| 137 |
+
# Área mínima de silhueta. Valor menor preserva crianças e figuras pequenas.
|
| 138 |
+
min_silhouette_area: float = 90.0
|
| 139 |
+
|
| 140 |
# --- Neural line-art parameters ---
|
| 141 |
lineart_detect_resolution: int = 1024
|
| 142 |
lineart_image_resolution: int = 1024
|
| 143 |
lineart_coarse: bool = True
|
| 144 |
|
| 145 |
# AUMENTADO: Força bruta para ignorar detalhes fracos
|
| 146 |
+
lineart_threshold: int = 120
|
| 147 |
|
| 148 |
+
# REDUZIDO: Permite traços de corpos menores (crianças em grupos)
|
| 149 |
+
lineart_min_perimeter: float = 80.0
|
| 150 |
+
lineart_min_area: float = 22.0
|
| 151 |
lineart_morph_open: bool = True
|
| 152 |
force_canny: bool = False
|
| 153 |
|
|
|
|
| 947 |
cfg.erase_borders = False
|
| 948 |
|
| 949 |
# Parâmetros equilibrados para traços nítidos e bordáveis
|
| 950 |
+
cfg.lineart_threshold = 95
|
| 951 |
cfg.lineart_min_perimeter = 45.0
|
| 952 |
cfg.lineart_min_area = 20.0
|
| 953 |
cfg.lineart_morph_open = True
|
|
|
|
| 970 |
elif len(faces) > 0 and not getattr(cfg, 'custom_tuned_for_embroidery', False):
|
| 971 |
# Retrato de humanos/família: liberamos mais detalhes de roupas, braços e dobras de forma limpa!
|
| 972 |
print("[lineart] Human faces detected. Adjusting parameters to preserve clothing and body details.")
|
| 973 |
+
cfg.lineart_threshold = 90 # Permite traços de roupas e corpos de crianças
|
| 974 |
+
cfg.lineart_min_perimeter = 40.0 # Menor: preserva corpo de crianças pequenas (antes era 50)
|
| 975 |
+
cfg.lineart_min_area = 14.0 # Menor: preserva estruturas corporais menores (antes era 20)
|
| 976 |
cfg.lineart_morph_open = True
|
| 977 |
|
| 978 |
# Canny parameters (caso de fallback)
|
| 979 |
+
cfg.canny_low = 40
|
| 980 |
+
cfg.canny_high = 95
|
| 981 |
+
cfg.min_contour_perimeter = 30.0 # Menor: mantém contornos de crianças
|
| 982 |
|
| 983 |
# Mantém a limpeza por proximidade para ficar bordável de forma profissional
|
| 984 |
+
cfg.min_line_distance = 7
|
| 985 |
cfg.line_overlap_threshold = 0.35
|
| 986 |
cfg.custom_tuned_for_embroidery = True
|
| 987 |
|