Spaces:
Running
on
Zero
Running
on
Zero
Added type checking
Browse files
app.py
CHANGED
@@ -69,6 +69,10 @@ def generate_3d_model(depth, image_path, focallength_px):
|
|
69 |
# Load the RGB image and convert to a NumPy array
|
70 |
image = np.array(Image.open(image_path))
|
71 |
|
|
|
|
|
|
|
|
|
72 |
# Resize depth to match image dimensions if necessary
|
73 |
if depth.shape != image.shape[:2]:
|
74 |
depth = cv2.resize(depth, (image.shape[1], image.shape[0]), interpolation=cv2.INTER_LINEAR)
|
@@ -79,7 +83,7 @@ def generate_3d_model(depth, image_path, focallength_px):
|
|
79 |
print(f"3D model generation - Image shape: {image.shape}")
|
80 |
|
81 |
# Compute camera intrinsic parameters
|
82 |
-
fx = fy = focallength_px #
|
83 |
cx, cy = width / 2, height / 2 # Principal point at the image center
|
84 |
|
85 |
# Create a grid of (u, v) pixel coordinates
|
|
|
69 |
# Load the RGB image and convert to a NumPy array
|
70 |
image = np.array(Image.open(image_path))
|
71 |
|
72 |
+
# Ensure depth is a NumPy array
|
73 |
+
if isinstance(depth, torch.Tensor):
|
74 |
+
depth = depth.cpu().numpy()
|
75 |
+
|
76 |
# Resize depth to match image dimensions if necessary
|
77 |
if depth.shape != image.shape[:2]:
|
78 |
depth = cv2.resize(depth, (image.shape[1], image.shape[0]), interpolation=cv2.INTER_LINEAR)
|
|
|
83 |
print(f"3D model generation - Image shape: {image.shape}")
|
84 |
|
85 |
# Compute camera intrinsic parameters
|
86 |
+
fx = fy = float(focallength_px) # Ensure focallength_px is a float
|
87 |
cx, cy = width / 2, height / 2 # Principal point at the image center
|
88 |
|
89 |
# Create a grid of (u, v) pixel coordinates
|