Alessio Grancini
commited on
Update app.py
Browse files
app.py
CHANGED
@@ -147,6 +147,28 @@ def get_camera_matrix(depth_estimator):
|
|
147 |
}
|
148 |
|
149 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
150 |
@spaces.GPU
|
151 |
def get_detection_data(image_data):
|
152 |
"""
|
|
|
147 |
}
|
148 |
|
149 |
|
150 |
+
def encode_base64_image(image_array):
|
151 |
+
"""
|
152 |
+
Encodes a NumPy (OpenCV) image array to a base64-encoded PNG DataURL
|
153 |
+
like "data:image/png;base64,<...>".
|
154 |
+
"""
|
155 |
+
import base64
|
156 |
+
import cv2
|
157 |
+
|
158 |
+
# If your image is BGR, that’s fine. We just need to encode it as PNG bytes.
|
159 |
+
# (Optionally convert to RGB first if you need consistent color channels.)
|
160 |
+
|
161 |
+
success, encoded_buffer = cv2.imencode(".png", image_array)
|
162 |
+
if not success:
|
163 |
+
raise ValueError("Could not encode image to PNG buffer")
|
164 |
+
|
165 |
+
# Encode the buffer to base64
|
166 |
+
b64_str = base64.b64encode(encoded_buffer).decode("utf-8")
|
167 |
+
|
168 |
+
# Return a data URL
|
169 |
+
return "data:image/png;base64," + b64_str
|
170 |
+
|
171 |
+
|
172 |
@spaces.GPU
|
173 |
def get_detection_data(image_data):
|
174 |
"""
|