DurgaDeepak commited on
Commit
99328a4
·
verified ·
1 Parent(s): e29184b

Update models/detection/detector.py

Browse files
Files changed (1) hide show
  1. 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 basic font (optional: can use truetype for better styling)
74
  try:
75
- font = ImageFont.truetype("arial.ttf", 16) # Try a common system font
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
- # Thicker rectangle (3–4 px)
84
- for offset in range(3): # creates a thicker border
85
  draw.rectangle(
86
- [bbox[0]-offset, bbox[1]-offset, bbox[2]+offset, bbox[3]+offset],
87
  outline="red"
88
  )
89
 
90
- # Draw label with background box
91
- text_size = draw.textsize(label, font=font)
92
- text_bg = [bbox[0], bbox[1] - text_size[1], bbox[0] + text_size[0] + 4, bbox[1]]
 
93
  draw.rectangle(text_bg, fill="red")
94
- draw.text((bbox[0] + 2, bbox[1] - text_size[1]), label, fill="white", font=font)
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)