فهرست منبع

reduce zone filter bouncing

Blake Blackshear 4 سال پیش
والد
کامیت
4363623c45
1فایلهای تغییر یافته به همراه6 افزوده شده و 4 حذف شده
  1. 6 4
      frigate/object_processing.py

+ 6 - 4
frigate/object_processing.py

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