Update app.py
Browse files
app.py
CHANGED
|
@@ -43,12 +43,15 @@ class RobustSafetyMonitor:
|
|
| 43 |
return image
|
| 44 |
|
| 45 |
def encode_image(self, frame):
|
| 46 |
-
"""Convert image to base64 encoding
|
| 47 |
frame_pil = PILImage.fromarray(frame)
|
| 48 |
buffered = io.BytesIO()
|
| 49 |
frame_pil.save(buffered, format="JPEG", quality=95) # Ensure JPEG format
|
| 50 |
img_base64 = base64.b64encode(buffered.getvalue()).decode('utf-8')
|
| 51 |
-
|
|
|
|
|
|
|
|
|
|
| 52 |
|
| 53 |
def detect_objects(self, frame):
|
| 54 |
"""Detect objects using YOLOv5."""
|
|
@@ -83,7 +86,7 @@ class RobustSafetyMonitor:
|
|
| 83 |
{
|
| 84 |
"type": "image_url",
|
| 85 |
"image_url": {
|
| 86 |
-
"url": image_base64 # Corrected:
|
| 87 |
}
|
| 88 |
}
|
| 89 |
]
|
|
|
|
| 43 |
return image
|
| 44 |
|
| 45 |
def encode_image(self, frame):
|
| 46 |
+
"""Convert image to base64 encoding with proper formatting."""
|
| 47 |
frame_pil = PILImage.fromarray(frame)
|
| 48 |
buffered = io.BytesIO()
|
| 49 |
frame_pil.save(buffered, format="JPEG", quality=95) # Ensure JPEG format
|
| 50 |
img_base64 = base64.b64encode(buffered.getvalue()).decode('utf-8')
|
| 51 |
+
|
| 52 |
+
# Prepend the required image data type to base64 string
|
| 53 |
+
img_base64_str = f"data:image/jpeg;base64,{img_base64}"
|
| 54 |
+
return img_base64_str
|
| 55 |
|
| 56 |
def detect_objects(self, frame):
|
| 57 |
"""Detect objects using YOLOv5."""
|
|
|
|
| 86 |
{
|
| 87 |
"type": "image_url",
|
| 88 |
"image_url": {
|
| 89 |
+
"url": image_base64 # Corrected: Now sending the proper data format
|
| 90 |
}
|
| 91 |
}
|
| 92 |
]
|