ptz.py 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. """
  2. PTZ控制配置
  3. """
  4. # PTZ控制配置
  5. PTZ_CONFIG = {
  6. 'default_zoom': 8, # 默认变焦倍数(提高以获得更清晰的人脸/身体图像)
  7. 'max_zoom': 20, # 最大变焦倍数
  8. 'move_speed': 4, # 移动速度 (1-8)
  9. 'coordinate_offset': (0, 0), # 坐标偏移校准(仅用于线性映射后备)
  10. 'tilt_offset': 25, # tilt偏移(度),正值=向下补偿,负值=向上补偿
  11. 'pan_offset': 0, # pan固定偏移(度),已被边缘曲线补偿替代
  12. 'pan_edge_offset': 25, # pan边缘补偿幅度(度),边缘处最大补偿
  13. 'pan_curve_power': 2.0, # pan边缘曲线指数,>1时边缘补偿更大、中间更小
  14. # tilt线性映射参数(覆盖校准查找表的tilt,因为查找表tilt数据不稳定)
  15. 'tilt_linear_enabled': True, # 是否使用线性tilt映射替代查找表
  16. 'tilt_y0': 15, # y_ratio=0时对应的tilt角度
  17. 'tilt_y1': 55, # y_ratio=1时对应的tilt角度
  18. 'tilt_curve_power': 0.8, # tilt曲线指数,>0.5中间区域tilt更大
  19. # 视野角度配置 (根据实际摄像头参数设置)
  20. 'pan_range': (0, 180), # 水平视野范围 (度) - 全景相机通常覆盖180度
  21. 'tilt_range': (-45, 45), # 垂直视野范围 (度) - 垂直方向覆盖角度
  22. 'pan_center': 90, # 水平中心角度 (画面中心对应的PTZ角度)
  23. 'tilt_center': 0, # 垂直中心角度
  24. # 球机安装方向配置
  25. # mount_type: 'ceiling' - 吸顶/吊装(镜头朝上), 'wall' - 壁装/立杆(镜头朝下)
  26. # 吊装镜头朝下未翻转时,不触发tilt反转
  27. 'mount_type': 'wall', # 吊装朝下未翻转,按壁装处理
  28. # 方向修正(根据实际安装方向调整)
  29. # pan_flip: 如果球机与全景朝向相反(球机看后面),设为True
  30. # tilt_flip: 如果俯仰方向相反,设为True
  31. 'pan_flip': False,
  32. 'tilt_flip': False,
  33. # 球机端人体检测与自动对焦配置
  34. 'enable_ptz_detection': True, # 是否启用球机端人体检测
  35. 'auto_zoom': {
  36. 'enabled': True, # 是否启用自动变焦
  37. 'target_size_ratio': 0.2, # 目标人体占画面比例(提高以获得更近的图像)
  38. 'min_zoom': 6, # 最小变倍(提高以获得更清晰的图像)
  39. 'max_zoom': 20, # 最大变倍
  40. 'zoom_step': 2, # 变焦调整步长
  41. 'center_threshold': 0.15, # 居中阈值 (人体中心偏离画面中心的比例)
  42. 'max_adjust_attempts': 3, # 最大调整次数
  43. },
  44. # 抓拍优化配置
  45. 'capture': {
  46. 'stabilize_time': 3.0, # PTZ到位后稳定等待时间(秒),增加以确保球机完全停止
  47. 'frame_wait_interval': 0.2, # 获取帧的等待间隔(秒)
  48. 'frame_max_attempts': 8, # 获取帧的最大尝试次数
  49. 'min_clarity': 200, # 最小清晰度阈值(拉普拉斯方差),提高以确保清晰
  50. },
  51. }