vitordigitizing commited on
Commit
9fd65be
路
verified 路
1 Parent(s): 19aedb6

Update faceless_processing.py

Browse files
Files changed (1) hide show
  1. faceless_processing.py +6 -4
faceless_processing.py CHANGED
@@ -10,8 +10,10 @@ import urllib.request
10
  from rembg import remove, new_session
11
  import threading
12
 
 
13
  try:
14
  from scipy.interpolate import splprep, splev
 
15
  _SCIPY_AVAILABLE = True
16
  except ImportError:
17
  _SCIPY_AVAILABLE = False
@@ -141,7 +143,7 @@ class LineartConfig:
141
  lineart_coarse: bool = True
142
 
143
  # AUMENTADO: For莽a a ignorar dobras de roupa e focar s贸 na estrutura
144
- lineart_threshold: int = 100
145
 
146
  # AJUSTE DE CABELO E CORPO: Diminu铆do para capturar fios e dobras de roupa.
147
  lineart_min_perimeter: float = 70.0
@@ -407,13 +409,13 @@ def build_interior_edges(rgb: np.ndarray, subject_mask: np.ndarray, cfg: Lineart
407
  cv2.drawContours(filtered, [cnt], -1, 255, cfg.interior_line_thickness)
408
 
409
  # Gentle dilation for solid, embroiderable strokes
410
- ernel_dilate = cv2.getStructuringElement(cv2.MORPH_ELLIPSE, (3, 3))
411
  filtered = cv2.dilate(filtered, kernel_dilate, iterations=1)
412
  filtered = cv2.GaussianBlur(filtered, (3, 3), 0)
413
  filtered = cv2.threshold(filtered, 127, 255, cv2.THRESH_BINARY)
414
  return filtered
415
  except Exception as e:
416
- print(f"[AI] Neural lineart failed, falling back to Canny: {e}")
417
 
418
  # ---------------- Legacy Canny fallback ----------------
419
  return _build_interior_edges_canny(rgb, subject_mask, cfg)
@@ -446,6 +448,7 @@ def _build_interior_edges_canny(rgb: np.ndarray, subject_mask: np.ndarray, cfg:
446
  return filtered
447
 
448
 
 
449
  _LANDMARKER_LOCK = threading.Lock()
450
  _LANDMARKER_CACHE = None
451
  _LANDMARKER_NUM_FACES = None
@@ -723,7 +726,6 @@ def make_faceless_cutout(img: Image.Image) -> Image.Image:
723
  return remove_background_subject(img)
724
 
725
 
726
-
727
  def build_faceless_embroidery_assets(img: Image.Image, cfg: Optional[LineartConfig] = None, **kwargs) -> Tuple[Image.Image, Image.Image]:
728
  if cfg is None:
729
  cfg = LineartConfig()
 
10
  from rembg import remove, new_session
11
  import threading
12
 
13
+
14
  try:
15
  from scipy.interpolate import splprep, splev
16
+
17
  _SCIPY_AVAILABLE = True
18
  except ImportError:
19
  _SCIPY_AVAILABLE = False
 
143
  lineart_coarse: bool = True
144
 
145
  # AUMENTADO: For莽a a ignorar dobras de roupa e focar s贸 na estrutura
146
+ lineart_threshold: int = 105
147
 
148
  # AJUSTE DE CABELO E CORPO: Diminu铆do para capturar fios e dobras de roupa.
149
  lineart_min_perimeter: float = 70.0
 
409
  cv2.drawContours(filtered, [cnt], -1, 255, cfg.interior_line_thickness)
410
 
411
  # Gentle dilation for solid, embroiderable strokes
412
+ kernel_dilate = cv2.getStructuringElement(cv2.MORPH_ELLIPSE, (3, 3))
413
  filtered = cv2.dilate(filtered, kernel_dilate, iterations=1)
414
  filtered = cv2.GaussianBlur(filtered, (3, 3), 0)
415
  filtered = cv2.threshold(filtered, 127, 255, cv2.THRESH_BINARY)
416
  return filtered
417
  except Exception as e:
418
+ print(f"[AI] Neural lineart failed, fallink back to Canny: {e}")
419
 
420
  # ---------------- Legacy Canny fallback ----------------
421
  return _build_interior_edges_canny(rgb, subject_mask, cfg)
 
448
  return filtered
449
 
450
 
451
+
452
  _LANDMARKER_LOCK = threading.Lock()
453
  _LANDMARKER_CACHE = None
454
  _LANDMARKER_NUM_FACES = None
 
726
  return remove_background_subject(img)
727
 
728
 
 
729
  def build_faceless_embroidery_assets(img: Image.Image, cfg: Optional[LineartConfig] = None, **kwargs) -> Tuple[Image.Image, Image.Image]:
730
  if cfg is None:
731
  cfg = LineartConfig()