mirror of
https://github.com/blakeblackshear/frigate.git
synced 2026-02-06 19:25:22 +03:00
hysteresis constants for absolute zooming
This commit is contained in:
parent
2a121d3267
commit
7c7615b291
@ -57,6 +57,6 @@ INSERT_MANY_RECORDINGS = "insert_many_recordings"
|
||||
AUTOTRACKING_MOTION_MIN_DISTANCE = 20
|
||||
AUTOTRACKING_MOTION_MAX_POINTS = 500
|
||||
AUTOTRACKING_MAX_MOVE_METRICS = 500
|
||||
AUTOTRACKING_ZOOM_OUT_HYSTERESIS = 1.1
|
||||
AUTOTRACKING_ZOOM_IN_HYSTERESIS = 0.9
|
||||
AUTOTRACKING_ZOOM_OUT_HYSTERESIS = 2.0
|
||||
AUTOTRACKING_ZOOM_IN_HYSTERESIS = 0.8
|
||||
AUTOTRACKING_ZOOM_EDGE_THRESHOLD = 0.05
|
||||
|
||||
@ -648,12 +648,18 @@ class PtzAutoTracker:
|
||||
below_area_threshold = target_box < 0.05
|
||||
|
||||
# introduce some hysteresis to prevent a yo-yo zooming effect
|
||||
zoom_out_hysteresis = target_box > (
|
||||
self.previous_target_box[camera] * AUTOTRACKING_ZOOM_OUT_HYSTERESIS
|
||||
)
|
||||
zoom_in_hysteresis = target_box < (
|
||||
self.previous_target_box[camera] * AUTOTRACKING_ZOOM_IN_HYSTERESIS
|
||||
)
|
||||
if camera_config.onvif.autotracking.zooming == ZoomingModeEnum.absolute:
|
||||
zoom_out_hysteresis = target_box > (
|
||||
self.previous_target_box[camera] * AUTOTRACKING_ZOOM_OUT_HYSTERESIS
|
||||
)
|
||||
zoom_in_hysteresis = target_box < (
|
||||
self.previous_target_box[camera] * AUTOTRACKING_ZOOM_IN_HYSTERESIS
|
||||
)
|
||||
|
||||
# relative target boxes deadzone is much smaller
|
||||
if camera_config.onvif.autotracking.zooming == ZoomingModeEnum.relative:
|
||||
zoom_out_hysteresis = target_box > (self.previous_target_box[camera] * 1.1)
|
||||
zoom_in_hysteresis = target_box < (self.previous_target_box[camera] * 0.9)
|
||||
|
||||
at_max_zoom = self.ptz_metrics[camera]["ptz_zoom_level"].value == 1
|
||||
at_min_zoom = self.ptz_metrics[camera]["ptz_zoom_level"].value == 0
|
||||
|
||||
Loading…
Reference in New Issue
Block a user