Astridkraft commited on
Commit
00943b9
·
verified ·
1 Parent(s): f388846

Update controlnet_module.py

Browse files
Files changed (1) hide show
  1. controlnet_module.py +18 -9
controlnet_module.py CHANGED
@@ -305,11 +305,22 @@ class ControlNetProcessor:
305
  print(f"working_mask shape: {working_mask.shape}")
306
 
307
 
308
- # DILATE auf der weißen Person - daduch wird Person etwas vergrößert
309
- kernel_dilate = np.ones((5, 5), np.uint8)
310
- working_mask = cv2.dilate(working_mask, kernel_dilate, iterations=1)
311
- print(f" ✅ Dilate (5x5) - Person leicht erweitert")
312
-
 
 
 
 
 
 
 
 
 
 
 
313
 
314
  # MORPH_CLOSE auf dem schwarzen Hintergrund (feine Löcher)- kleiner Kernel filigrane Heranarbeitung an Person,
315
  # es werden aber auch nur kleine Löcher in Umgebung von weiß nach schwarz geändert!
@@ -344,12 +355,10 @@ class ControlNetProcessor:
344
  print(f" ✅ Konturenfilter - Größte Kontur behalten, {len(contours)-1} kleine entfernt")
345
 
346
 
347
- #Inpaint darf nur eine schwarz/weiß Maske (Binärmaske 0,255) bekommen. Bei
348
- #weichen/grauen Pixeln könnte Inpaint etwas anderes generieren. Die folgende
349
- #Blur-Maske für Composition und UI-Anzeige
350
  inpaint_binary_mask = working_mask.copy()
351
  #Invertieren da SAM segmentierte Person/Gegenstand weiß ausgibt
352
- inpaint_binary_mask = 255 - inpaint_binary_mask
353
 
354
 
355
  # Gaussian-BLUR für weiche Kanten für Composition
 
305
  print(f"working_mask shape: {working_mask.shape}")
306
 
307
 
308
+ # === 1. FÜR INPAINT: Kleinere Dilatation (5×5) ===
309
+ #Inpaint darf auch nur eine schwarz/weiß Maske (Binärmaske 0,255) bekommen. Bei
310
+ #weichen/grauen Pixeln könnte Inpaint etwas anderes generieren. Inpaint darf auch nur kleinere
311
+ #Segmentvergrößerung erhalten während Compositing größeren Dilate - also mehr weiße Pixel um Person benötigt
312
+ inpaint_mask = working_mask.copy() # Person=weiß
313
+
314
+ kernel_inpaint = np.ones((5, 5), np.uint8)
315
+ inpaint_mask = cv2.dilate(inpaint_mask, kernel_inpaint, iterations=1)
316
+ print(f" ✅ Inpaint Dilate (5x5) - Person leicht erweitert")
317
+ # Später invertieren für Inpaint
318
+
319
+ # === 2. FÜR COMPOSITING: Größere Dilatation (15×15) auf working_mask ===
320
+ kernel_comp = np.ones((15, 15), np.uint8)
321
+ working_mask = cv2.dilate(working_mask, kernel_comp, iterations=1)
322
+ print(f" ✅ Compositing Dilate (15x15) - Person stark erweitert")
323
+
324
 
325
  # MORPH_CLOSE auf dem schwarzen Hintergrund (feine Löcher)- kleiner Kernel filigrane Heranarbeitung an Person,
326
  # es werden aber auch nur kleine Löcher in Umgebung von weiß nach schwarz geändert!
 
355
  print(f" ✅ Konturenfilter - Größte Kontur behalten, {len(contours)-1} kleine entfernt")
356
 
357
 
358
+
 
 
359
  inpaint_binary_mask = working_mask.copy()
360
  #Invertieren da SAM segmentierte Person/Gegenstand weiß ausgibt
361
+ inpaint_binary_mask = 255 - inpaint_mask
362
 
363
 
364
  # Gaussian-BLUR für weiche Kanten für Composition