Spaces:
Running
on
Zero
Running
on
Zero
Update models/detection/detector.py
Browse files- models/detection/detector.py +10 -9
models/detection/detector.py
CHANGED
@@ -70,9 +70,9 @@ class ObjectDetector:
|
|
70 |
overlay = image.copy()
|
71 |
draw = ImageDraw.Draw(overlay)
|
72 |
|
73 |
-
# Use a
|
74 |
try:
|
75 |
-
font = ImageFont.truetype("arial.ttf", 16)
|
76 |
except:
|
77 |
font = ImageFont.load_default()
|
78 |
|
@@ -80,17 +80,18 @@ class ObjectDetector:
|
|
80 |
bbox = det["bbox"]
|
81 |
label = f'{det["class_name"]} {det["confidence"]:.2f}'
|
82 |
|
83 |
-
#
|
84 |
-
for offset in range(3):
|
85 |
draw.rectangle(
|
86 |
-
[bbox[0]-offset, bbox[1]-offset, bbox[2]+offset, bbox[3]+offset],
|
87 |
outline="red"
|
88 |
)
|
89 |
|
90 |
-
#
|
91 |
-
|
92 |
-
text_bg = [bbox[0], bbox[1] -
|
|
|
93 |
draw.rectangle(text_bg, fill="red")
|
94 |
-
draw.text((bbox[0] + 2, bbox[1] -
|
95 |
|
96 |
return Image.blend(image, overlay, alpha)
|
|
|
70 |
overlay = image.copy()
|
71 |
draw = ImageDraw.Draw(overlay)
|
72 |
|
73 |
+
# Use a font (try arial, fallback to default)
|
74 |
try:
|
75 |
+
font = ImageFont.truetype("arial.ttf", 16)
|
76 |
except:
|
77 |
font = ImageFont.load_default()
|
78 |
|
|
|
80 |
bbox = det["bbox"]
|
81 |
label = f'{det["class_name"]} {det["confidence"]:.2f}'
|
82 |
|
83 |
+
# Draw thicker bounding box
|
84 |
+
for offset in range(3):
|
85 |
draw.rectangle(
|
86 |
+
[bbox[0] - offset, bbox[1] - offset, bbox[2] + offset, bbox[3] + offset],
|
87 |
outline="red"
|
88 |
)
|
89 |
|
90 |
+
# 🧠 Use font.getsize instead of draw.textsize
|
91 |
+
text_width, text_height = font.getsize(label)
|
92 |
+
text_bg = [bbox[0], bbox[1] - text_height, bbox[0] + text_width + 4, bbox[1]]
|
93 |
+
|
94 |
draw.rectangle(text_bg, fill="red")
|
95 |
+
draw.text((bbox[0] + 2, bbox[1] - text_height), label, fill="white", font=font)
|
96 |
|
97 |
return Image.blend(image, overlay, alpha)
|