vitordigitizing commited on
Commit
8ed8b43
·
verified ·
1 Parent(s): 9d04e81

Update faceless_processing.py

Browse files
Files changed (1) hide show
  1. 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 = 135
146
 
147
- # AUMENTADO: Faca implacável para traços curtos
148
- lineart_min_perimeter: float = 115.0
149
- lineart_min_area: float = 40.0
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 = 90
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 = 95 # Permite traços de roupas médios
973
- cfg.lineart_min_perimeter = 50.0 # Permite mangas, braços, golas e dobras principais (antes era 115.0)
974
- cfg.lineart_min_area = 20.0
975
  cfg.lineart_morph_open = True
976
 
977
  # Canny parameters (caso de fallback)
978
- cfg.canny_low = 45
979
- cfg.canny_high = 100
980
- cfg.min_contour_perimeter = 40.0
981
 
982
  # Mantém a limpeza por proximidade para ficar bordável de forma profissional
983
- cfg.min_line_distance = 8
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