Update app.py
Browse files
app.py
CHANGED
@@ -40,17 +40,24 @@ def warp_design(design, mask, warp_scale):
|
|
40 |
# Resize design to match mask dimensions
|
41 |
design_resized = cv2.resize(design, (w, h))
|
42 |
|
|
|
43 |
if len(mask.shape) == 3 and mask.shape[2] == 3:
|
44 |
mask = cv2.cvtColor(mask, cv2.COLOR_BGR2GRAY)
|
45 |
|
46 |
-
# Ensure mask is uint8
|
47 |
if mask.dtype != np.uint8:
|
48 |
mask = (mask * 255).astype(np.uint8)
|
49 |
|
50 |
-
#
|
|
|
|
|
|
|
51 |
if len(design_resized.shape) == 2:
|
52 |
design_resized = cv2.cvtColor(design_resized, cv2.COLOR_GRAY2BGR)
|
53 |
|
|
|
|
|
|
|
54 |
return cv2.bitwise_and(design_resized, design_resized, mask=mask)
|
55 |
|
56 |
def blend_images(base, overlay, mask):
|
|
|
40 |
# Resize design to match mask dimensions
|
41 |
design_resized = cv2.resize(design, (w, h))
|
42 |
|
43 |
+
# Convert mask to grayscale if it's not already
|
44 |
if len(mask.shape) == 3 and mask.shape[2] == 3:
|
45 |
mask = cv2.cvtColor(mask, cv2.COLOR_BGR2GRAY)
|
46 |
|
47 |
+
# Ensure mask is uint8 (values between 0-255)
|
48 |
if mask.dtype != np.uint8:
|
49 |
mask = (mask * 255).astype(np.uint8)
|
50 |
|
51 |
+
# Ensure mask and design are the same size
|
52 |
+
mask = cv2.resize(mask, (w, h), interpolation=cv2.INTER_NEAREST)
|
53 |
+
|
54 |
+
# Ensure design_resized is 3-channel
|
55 |
if len(design_resized.shape) == 2:
|
56 |
design_resized = cv2.cvtColor(design_resized, cv2.COLOR_GRAY2BGR)
|
57 |
|
58 |
+
# Debugging output
|
59 |
+
print(f"Design shape: {design_resized.shape}, Mask shape: {mask.shape}, Mask dtype: {mask.dtype}")
|
60 |
+
|
61 |
return cv2.bitwise_and(design_resized, design_resized, mask=mask)
|
62 |
|
63 |
def blend_images(base, overlay, mask):
|