Update processing/two_stage/two_stage_processor.py
Browse files
processing/two_stage/two_stage_processor.py
CHANGED
|
@@ -446,17 +446,20 @@ def composite_frame(get_frame, t):
|
|
| 446 |
# Add channel dimension
|
| 447 |
alpha_frame = alpha_frame[:, :, np.newaxis]
|
| 448 |
|
| 449 |
-
#
|
| 450 |
-
|
|
|
|
|
|
|
| 451 |
|
| 452 |
-
# DEBUG: Check
|
| 453 |
if t < 0.1:
|
| 454 |
-
logger.info(f"🔍 DEBUG:
|
|
|
|
| 455 |
|
| 456 |
# Composite: person = alpha * original + (1-alpha) * background
|
| 457 |
# If alpha = 1 (white), show original person
|
| 458 |
# If alpha = 0 (black), show background
|
| 459 |
-
result = alpha_frame *
|
| 460 |
|
| 461 |
# DEBUG: Check result
|
| 462 |
if t < 0.1:
|
|
|
|
| 446 |
# Add channel dimension
|
| 447 |
alpha_frame = alpha_frame[:, :, np.newaxis]
|
| 448 |
|
| 449 |
+
# CRITICAL FIX: Ensure all inputs are in same scale (0-1)
|
| 450 |
+
# MoviePy gives frames in 0-1 range, so normalize everything to 0-1
|
| 451 |
+
original_normalized = original_frame.astype(np.float32) # Already 0-1 from MoviePy
|
| 452 |
+
bg_normalized = background.astype(np.float32) / 255.0 # Convert to 0-1
|
| 453 |
|
| 454 |
+
# DEBUG: Check all inputs are same scale
|
| 455 |
if t < 0.1:
|
| 456 |
+
logger.info(f"🔍 DEBUG: Original normalized range: {original_normalized.min():.3f} to {original_normalized.max():.3f}")
|
| 457 |
+
logger.info(f"🔍 DEBUG: Background normalized range: {bg_normalized.min():.3f} to {bg_normalized.max():.3f}")
|
| 458 |
|
| 459 |
# Composite: person = alpha * original + (1-alpha) * background
|
| 460 |
# If alpha = 1 (white), show original person
|
| 461 |
# If alpha = 0 (black), show background
|
| 462 |
+
result = alpha_frame * original_normalized + (1 - alpha_frame) * bg_normalized
|
| 463 |
|
| 464 |
# DEBUG: Check result
|
| 465 |
if t < 0.1:
|