简述
- 不同品牌对应关系不一致,同一品牌,根据摄像头产品参数也会不一致
- 球机的PTZ和ONVIF的PTZ是线性关系
- 摄像头的视场角与ONVIF的Zoom是非线性关系
- ONVIF的PTZ范围
- P、T ∈[-1, 1]
- Z∈ [0,1]
- 球机PTZ范围:根据不同型号不一致
PTZ_ONVIF & PTZ_SDK
- 以海康相机
iDS-2VS435-F837
为例,分别ONVIF控制球机转动指定PTZ坐标,再使用SDK获取PTZ坐标 - 海康球机SDK获取PTZ坐标(具体参考《设备网络SDK使用手册》)
bool ret = NET_DVR_GetDVRConfig(0, NET_DVR_GET_PTZPOS, 0, &ptz_pos, sizeof(NET_DVR_PTZPOS), &dw);
int p_pos = HexToDecMa(ptz_pos.wPanPos) / 10 % 360; // 十六进制转化为十进制角度
int t_pos = HexToDecMa(ptz_pos.wTiltPos) / 10 % 360;
int z_pos = HexToDecMa(ptz_pos.wZoomPos) / 10 % 360;
-
对应关系如下
-
ONVIF——>PTZ
- 模型函数是线性关系 y = k x + b y=kx+b y=kx+b
- LS最小二乘拟合
- 关系如下:
{ p ′ = 179.87 ∗ p + 179.95 t ′ = 55.00 ∗ t + 35.24 z ′ = 36.00 ∗ z + 1.0 \begin{cases} p' = 179.87 * p + 179.95 \\ t' = 55.00 * t + 35.24 \\ z' = 36.00 * z + 1.0 \end{cases} ⎩⎪⎨⎪⎧p′=179.87∗p+179.95t′=55.00∗t+35.24z′=36.00∗z+1.0
-
可以看出来参数和相机的硬件参数有很大关系
- 球机水平方向转动360°
- 球机垂直方向转动[-20°, 90°]
- 球机光学放大倍数37倍
-
可以根据参数来验证拟合关系,设计正交试验,只需要测量几次即可
球机视场角与ONVIF对应关系
-
有时候需要实时获取视场角
-
视场角∝放大倍数∝Zoom
-
以海康相机
iDS-2VS435-F837
为例,固定PT,分别ONVIF控制球机转动指定Z,再获取视场角,视场角获取可以参考《视场角计算》 -
对应关系如下:
-
ONVIF-Zoom ——>水平/垂直视场角
- 可以很明显看出是非线性关系
- 采用《非线性优化算法——LM》拟合曲线
- 关系如下
{ F O V H = 1.626 ∗ e 0.634 0.177 + z o o m F O V V = 0.953 ∗ e 0.598 0.166 + z o o m \begin{cases} FOV_H=1.626*e^{\frac{0.634}{0.177+zoom}} \\ FOV_V=0.953*e^{\frac{0.598}{0.166+zoom}} \\ \end{cases} {FOVH=1.626∗e0.177+zoom0.634FOVV=0.953∗e0.166+zoom0.598
- 拟合效果如下