gpt4 book ai didi

c++ - Onvif - 获取放大倍数

转载 作者:行者123 更新时间:2023-11-28 05:05:50 26 4
gpt4 key购买 nike

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

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

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

我愿意:

  • 直接告诉我放大倍数的服务(例如 x64)

  • 镜头的当前视野(例如 12°)。我可以轻松获得最大视野并计算放大倍数:

    放大倍数 = current_field_of_view/field_of_view_max

  • 相机的最小和最大视野:

    current_field_of_view = min_field_of_view + (max_field_of_view - min_field_of_view)*(1-zoom)magnification_factor = current_field_of_view/field_of_view_max

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

有人可以帮忙吗?

[编辑:找到解决方案]

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

current_mag = 1 + current_zoom * (max_mag - 1) 

最佳答案

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

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

关于c++ - Onvif - 获取放大倍数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44806619/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com