mirror of
https://github.com/blakeblackshear/frigate.git
synced 2026-02-07 03:35:26 +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_MIN_DISTANCE = 20
|
||||||
AUTOTRACKING_MOTION_MAX_POINTS = 500
|
AUTOTRACKING_MOTION_MAX_POINTS = 500
|
||||||
AUTOTRACKING_MAX_MOVE_METRICS = 500
|
AUTOTRACKING_MAX_MOVE_METRICS = 500
|
||||||
AUTOTRACKING_ZOOM_OUT_HYSTERESIS = 1.1
|
AUTOTRACKING_ZOOM_OUT_HYSTERESIS = 2.0
|
||||||
AUTOTRACKING_ZOOM_IN_HYSTERESIS = 0.9
|
AUTOTRACKING_ZOOM_IN_HYSTERESIS = 0.8
|
||||||
AUTOTRACKING_ZOOM_EDGE_THRESHOLD = 0.05
|
AUTOTRACKING_ZOOM_EDGE_THRESHOLD = 0.05
|
||||||
|
|||||||
@ -648,6 +648,7 @@ class PtzAutoTracker:
|
|||||||
below_area_threshold = target_box < 0.05
|
below_area_threshold = target_box < 0.05
|
||||||
|
|
||||||
# introduce some hysteresis to prevent a yo-yo zooming effect
|
# introduce some hysteresis to prevent a yo-yo zooming effect
|
||||||
|
if camera_config.onvif.autotracking.zooming == ZoomingModeEnum.absolute:
|
||||||
zoom_out_hysteresis = target_box > (
|
zoom_out_hysteresis = target_box > (
|
||||||
self.previous_target_box[camera] * AUTOTRACKING_ZOOM_OUT_HYSTERESIS
|
self.previous_target_box[camera] * AUTOTRACKING_ZOOM_OUT_HYSTERESIS
|
||||||
)
|
)
|
||||||
@ -655,6 +656,11 @@ class PtzAutoTracker:
|
|||||||
self.previous_target_box[camera] * AUTOTRACKING_ZOOM_IN_HYSTERESIS
|
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_max_zoom = self.ptz_metrics[camera]["ptz_zoom_level"].value == 1
|
||||||
at_min_zoom = self.ptz_metrics[camera]["ptz_zoom_level"].value == 0
|
at_min_zoom = self.ptz_metrics[camera]["ptz_zoom_level"].value == 0
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user