|
@@ -234,8 +234,10 @@ class Camera:
|
|
|
return
|
|
|
|
|
|
for obj in objects:
|
|
|
+ # Store object area to use in bounding box labels
|
|
|
+ obj['area'] = (obj['xmax']-obj['xmin'])*(obj['ymax']-obj['ymin'])
|
|
|
+
|
|
|
if obj['name'] == 'person':
|
|
|
- person_area = (obj['xmax']-obj['xmin'])*(obj['ymax']-obj['ymin'])
|
|
|
# find the matching region
|
|
|
region = None
|
|
|
for r in self.regions:
|
|
@@ -250,7 +252,7 @@ class Camera:
|
|
|
|
|
|
# if the min person area is larger than the
|
|
|
# detected person, don't add it to detected objects
|
|
|
- if region and region['min_person_area'] > person_area:
|
|
|
+ if region and region['min_person_area'] > obj['area']:
|
|
|
continue
|
|
|
|
|
|
# compute the coordinates of the person and make sure
|
|
@@ -279,7 +281,7 @@ class Camera:
|
|
|
|
|
|
# draw the bounding boxes on the screen
|
|
|
for obj in detected_objects:
|
|
|
- label = "{}: {}%".format(obj['name'],int(obj['score']*100))
|
|
|
+ label = "{}: {}% {}".format(obj['name'],int(obj['score']*100),int(obj['area']))
|
|
|
draw_box_with_label(frame, obj['xmin'], obj['ymin'], obj['xmax'], obj['ymax'], label)
|
|
|
|
|
|
for region in self.regions:
|