Fix interpolation for autotracking cameras (#16211)

This commit is contained in:
Josh Hawkins 2025-01-29 07:44:13 -06:00 committed by GitHub
parent 335b7564d5
commit 7b65bcf13c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -411,19 +411,19 @@ class OnvifController:
# The onvif spec says this can report as +INF and -INF, so this may need to be modified # The onvif spec says this can report as +INF and -INF, so this may need to be modified
pan = numpy.interp( pan = numpy.interp(
pan, pan,
[-1, 1],
[ [
self.cams[camera_name]["relative_fov_range"]["XRange"]["Min"], self.cams[camera_name]["relative_fov_range"]["XRange"]["Min"],
self.cams[camera_name]["relative_fov_range"]["XRange"]["Max"], self.cams[camera_name]["relative_fov_range"]["XRange"]["Max"],
], ],
[-1, 1],
) )
tilt = numpy.interp( tilt = numpy.interp(
tilt, tilt,
[-1, 1],
[ [
self.cams[camera_name]["relative_fov_range"]["YRange"]["Min"], self.cams[camera_name]["relative_fov_range"]["YRange"]["Min"],
self.cams[camera_name]["relative_fov_range"]["YRange"]["Max"], self.cams[camera_name]["relative_fov_range"]["YRange"]["Max"],
], ],
[-1, 1],
) )
move_request.Speed = { move_request.Speed = {
@ -536,11 +536,11 @@ class OnvifController:
# function takes in 0 to 1 for zoom, interpolate to the values of the camera. # function takes in 0 to 1 for zoom, interpolate to the values of the camera.
zoom = numpy.interp( zoom = numpy.interp(
zoom, zoom,
[0, 1],
[ [
self.cams[camera_name]["absolute_zoom_range"]["XRange"]["Min"], self.cams[camera_name]["absolute_zoom_range"]["XRange"]["Min"],
self.cams[camera_name]["absolute_zoom_range"]["XRange"]["Max"], self.cams[camera_name]["absolute_zoom_range"]["XRange"]["Max"],
], ],
[0, 1],
) )
move_request.Speed = {"Zoom": speed} move_request.Speed = {"Zoom": speed}