You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
4.0 KiB
4.0 KiB
地图功能使用指南 🗺️
功能概述
本系统集成了高德地图API,可以实时在地图上显示:
- 📷 摄像头位置(蓝色标记)
- 👥 检测到的人员位置(红色标记)
- 📏 每个人员距离摄像头的距离
快速开始
1. 配置摄像头位置 📍
首先需要设置摄像头的地理位置:
python setup_camera_location.py
按提示输入:
- 摄像头纬度(例:39.9042)
- 摄像头经度(例:116.4074)
- 摄像头朝向角度(0-360°,0为正北)
- 高德API Key(可选,用于更好的地图体验)
2. 启动系统 🚀
python main.py
3. 查看地图 🗺️
在检测界面按 m
键打开地图,系统会自动在浏览器中显示实时地图。
操作说明
键盘快捷键
q
- 退出程序c
- 距离校准模式r
- 重置为默认参数s
- 保存当前帧截图m
- 打开地图显示 🗺️h
- 设置摄像头朝向 🧭
地图界面说明
- 🔵 蓝色标记 - 摄像头位置
- 🔴 红色标记 - 检测到的人员位置
- 📊 信息面板 - 显示系统状态和统计信息
- ⚡ 实时更新 - 地图每3秒自动刷新一次
坐标计算原理
系统通过以下步骤计算人员的地理坐标:
- 像素坐标获取 - 从YOLO检测结果获取人体在画面中的位置
- 角度计算 - 根据摄像头视场角计算人相对于摄像头中心的角度偏移
- 方位角计算 - 结合摄像头朝向,计算人相对于正北的绝对角度
- 地理坐标转换 - 使用球面几何学公式,根据距离和角度计算地理坐标
关键参数
CAMERA_FOV
- 摄像头视场角(默认60°)CAMERA_HEADING
- 摄像头朝向角度(0°为正北)- 距离计算基于已校准的距离测量算法
高德地图API配置
获取API Key
- 访问 高德开放平台
- 注册并创建应用
- 获取Web服务API Key
- 在配置中替换
your_gaode_api_key_here
API使用限制
- 免费配额:每日10万次调用
- 超出配额后可能影响地图加载
- 建议使用自己的API Key以确保稳定服务
精度优化建议
距离校准 📏
使用 c
键进入校准模式:
- 让一个人站在已知距离处
- 输入实际距离
- 系统自动调整计算参数
朝向校准 🧭
使用 h
键设置准确朝向:
- 确定摄像头实际朝向(使用指南针)
- 输入角度(0°为正北,90°为正东)
位置校准 📍
确保摄像头GPS坐标准确:
- 使用手机GPS应用获取精确坐标
- 运行
setup_camera_location.py
更新配置
故障排除
地图无法打开
- 检查网络连接
- 确认高德API Key配置正确
- 尝试手动访问生成的HTML文件
人员位置不准确
- 重新校准距离参数
- 检查摄像头朝向设置
- 确认摄像头GPS坐标准确
地图显示异常
- 刷新浏览器页面
- 清除浏览器缓存
- 检查JavaScript控制台错误信息
技术细节
坐标转换公式
系统使用WGS84坐标系和球面几何学公式:
# 球面距离计算
lat2 = asin(sin(lat1) * cos(d/R) + cos(lat1) * sin(d/R) * cos(bearing))
lng2 = lng1 + atan2(sin(bearing) * sin(d/R) * cos(lat1), cos(d/R) - sin(lat1) * sin(lat2))
视场角映射
# 像素到角度的转换
horizontal_angle_per_pixel = camera_fov / frame_width
horizontal_offset = (pixel_x - center_x) * horizontal_angle_per_pixel
系统要求
- Python 3.7+
- OpenCV 4.0+
- 网络连接(地图加载)
- 现代浏览器(Chrome/Firefox/Edge)
注意事项
⚠️ 重要提醒:
- 本系统仅供技术研究使用
- 实际部署需要考虑隐私保护
- GPS坐标精度影响最终定位准确性
- 距离计算基于单目视觉,存在一定误差
更新日志
- v1.0.0 - 基础地图显示功能
- v1.1.0 - 添加实时人员位置标记
- v1.2.0 - 优化坐标计算精度
- v1.3.0 - 增加配置工具和用户指南