Update controlnet_module.py
Browse files- controlnet_module.py +20 -6
controlnet_module.py
CHANGED
|
@@ -840,12 +840,26 @@ class ControlNetProcessor:
|
|
| 840 |
|
| 841 |
if use_crop_strategy:
|
| 842 |
# Berechnung: wo wäre die Original-BBox im verkleinerten Crop-(Kopf am Rand des Bildes)
|
| 843 |
-
scale_x = image.width / original_image.width
|
| 844 |
-
scale_y = image.height / original_image.height
|
| 845 |
-
bbox_x1 = int(original_bbox[0] * scale_x)
|
| 846 |
-
bbox_y1 = int(original_bbox[1] * scale_y)
|
| 847 |
-
bbox_x2 = int(original_bbox[2] * scale_x)
|
| 848 |
-
bbox_y2 = int(original_bbox[3] * scale_y)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 849 |
else:
|
| 850 |
# Für Original: Direkt Original-BBox verwenden
|
| 851 |
bbox_x1, bbox_y1, bbox_x2, bbox_y2 = original_bbox
|
|
|
|
| 840 |
|
| 841 |
if use_crop_strategy:
|
| 842 |
# Berechnung: wo wäre die Original-BBox im verkleinerten Crop-(Kopf am Rand des Bildes)
|
| 843 |
+
#scale_x = image.width / original_image.width
|
| 844 |
+
#scale_y = image.height / original_image.height
|
| 845 |
+
#bbox_x1 = int(original_bbox[0] * scale_x)
|
| 846 |
+
#bbox_y1 = int(original_bbox[1] * scale_y)
|
| 847 |
+
#bbox_x2 = int(original_bbox[2] * scale_x)
|
| 848 |
+
#bbox_y2 = int(original_bbox[3] * scale_y)
|
| 849 |
+
|
| 850 |
+
bbox_x1 = original_bbox[0] - crop_x1
|
| 851 |
+
bbox_y1 = original_bbox[1] - crop_y1
|
| 852 |
+
bbox_x2 = original_bbox[2] - crop_x1
|
| 853 |
+
bbox_y2 = original_bbox[3] - crop_y1
|
| 854 |
+
|
| 855 |
+
# Sicherstellen, dass innerhalb des Crops (wie in SCHRITT 3)
|
| 856 |
+
bbox_x1 = max(0, bbox_x1)
|
| 857 |
+
bbox_y1 = max(0, bbox_y1)
|
| 858 |
+
bbox_x2 = min(image.width, bbox_x2)
|
| 859 |
+
bbox_y2 = min(image.height, bbox_y2)
|
| 860 |
+
|
| 861 |
+
print(f" 🎯 Heuristik-BBox im Crop: [{bbox_x1}, {bbox_y1}, {bbox_x2}, {bbox_y2}]")
|
| 862 |
+
|
| 863 |
else:
|
| 864 |
# Für Original: Direkt Original-BBox verwenden
|
| 865 |
bbox_x1, bbox_y1, bbox_x2, bbox_y2 = original_bbox
|