Onvif - 获取放大倍数

Onvif - get magnification factor

我正在用 C++ 实现 ONVIF 客户端以驱动 Onvif 相机。

我需要获得放大倍数(例如,最小变焦为 x1,最大变焦为 x200),但到目前为止,我只能设法获得 PTZ 值(平移、倾斜和缩放百分比)。将平移和倾斜从 % 转换为度数很容易,但我不知道如何计算放大倍数。

我查看了 WSDL 文件,但没有看到我需要的内容。

我愿意:

但我在界面中没有看到任何内容。

有人可以帮忙吗?

[编辑:找到解决方案]

我已经要求用户设置规格中始终可用的放大倍率的最大值。然后我用公式计算当前放大倍数:

current_mag = 1 + current_zoom * (max_mag - 1) 

缩放系数是 PTZ 服务中每个设备在 ZoomLimits 数据中指定的最小值和最大值之间的值。不幸的是,这不一定代表任何现实世界的价值,通常在 0.0 和 1.0 之间。

您可以在设备 WSDL 中请求 GetDeviceInformation,如果您知道真实值中的实际缩放功能,您可以存储它们并与应用程序中的 model/manufacturer 进行比较。