Astridkraft commited on
Commit
cde5784
·
verified ·
1 Parent(s): 8e9dc07

Update controlnet_module.py

Browse files
Files changed (1) hide show
  1. controlnet_module.py +14 -2
controlnet_module.py CHANGED
@@ -620,7 +620,7 @@ class ControlNetProcessor:
620
  mask_array = cv2.morphologyEx(mask_array, cv2.MORPH_CLOSE, kernel_close, iterations=3)
621
 
622
  # 2. Dann Dilation für bessere Abdeckung
623
- kernel_dilate = np.ones((7,7), np.uint8)
624
  mask_array = cv2.dilate(mask_array, kernel_dilate, iterations=1)
625
 
626
  # Mittelstarker Blur für natürliche Übergänge:
@@ -629,9 +629,21 @@ class ControlNetProcessor:
629
  # Alternativen:
630
  # Sanfter: (7, 7), 1.5 → subtiler Übergang
631
  # Stärker: (11, 11), 2.5 → sehr weiche Übergänge
 
 
 
 
 
 
 
 
 
632
 
633
  print(" ✅ MORPH_CLOSE füllt schwarze Löcher in der Person")
634
- print(" ✅ Dilation für bessere Personenabdeckung")
 
 
 
635
 
636
  elif mode == "environment_change":
637
  print("🌳 ENVIRONMENT-CHANGE POSTPROCESSING")
 
620
  mask_array = cv2.morphologyEx(mask_array, cv2.MORPH_CLOSE, kernel_close, iterations=3)
621
 
622
  # 2. Dann Dilation für bessere Abdeckung
623
+ kernel_dilate = np.ones((9,9), np.uint8)
624
  mask_array = cv2.dilate(mask_array, kernel_dilate, iterations=1)
625
 
626
  # Mittelstarker Blur für natürliche Übergänge:
 
629
  # Alternativen:
630
  # Sanfter: (7, 7), 1.5 → subtiler Übergang
631
  # Stärker: (11, 11), 2.5 → sehr weiche Übergänge
632
+
633
+ # Mittelstarker Blur für natürliche Übergänge:
634
+ mask_array = cv2.GaussianBlur(mask_array, (9, 9), 2.0)
635
+
636
+ # GAMMA-KORREKTUR gegen milchige Ränder (Float-Bereich 0-1 nötig)
637
+ mask_array = mask_array.astype(np.float32) / 255.0 # <-- WICHTIG: ZUERST in 0-1 konvertieren
638
+ mask_array = np.clip(mask_array, 0.0, 1.0)
639
+ mask_array = mask_array ** 0.85 # Gamma-Korrektur anwenden
640
+ mask_array = (mask_array * 255).astype(np.uint8) # Zurück in 0-255
641
 
642
  print(" ✅ MORPH_CLOSE füllt schwarze Löcher in der Person")
643
+ print(" ✅ Dilation für bessere Personenabdeckung")
644
+ print(f" 🔄 Konvertiert zu Float32 im Bereich [0, 1]. Neuer min/max: {mask_array.min():.3f}/{mask_array.max():.3f}")
645
+ print(f" ⚙️ Gamma-Korrektur (0.85) angewendet. Neuer min/max: {mask_array.min():.3f}/{mask_array.max():.3f}")
646
+ print(f" ✅ Zurück zu uint8 [0, 255]. Final min/max: {mask_array.min()}/{mask_array.max()}")
647
 
648
  elif mode == "environment_change":
649
  print("🌳 ENVIRONMENT-CHANGE POSTPROCESSING")