reduce zone filter bouncing

This commit is contained in:
Blake Blackshear 2020-10-13 07:50:14 -05:00
parent c960914ec3
commit 4363623c45

View File

@ -181,10 +181,12 @@ class CameraState():
# check each zone # check each zone
for name, zone in self.config['zones'].items(): for name, zone in self.config['zones'].items():
contour = zone['contour'] contour = zone['contour']
# check if the object is in the zone and not filtered # check if the object is in the zone
if (cv2.pointPolygonTest(contour, bottom_center, False) >= 0 if (cv2.pointPolygonTest(contour, bottom_center, False) >= 0):
and not zone_filtered(obj, zone.get('filters', {}))): # if the object passed the filters once, dont apply again
current_zones.append(name) if name in obj.get('zones', []) or not zone_filtered(obj, zone.get('filters', {})):
current_zones.append(name)
obj['zones'] = current_zones obj['zones'] = current_zones
# maintain best objects # maintain best objects