RealTimeTrackingCamera: 基于OpenCV的物体追踪摄像头
- 先让跟踪的目标运动一下,获取跟踪轮廓。
- 通过轮廓匹配在实时的视频流中找到目标的运动轨迹。
- 发送控制命令给舵机控制摄像头旋转。
- 通过一系列差分帧,两两差分直接进行与运算,找出与运算结果最大的一帧。
- 闭运算连接孤立点。
- 通过用户选择精细化边缘。
- 循环捕捉相机的帧。
- 抓取到的帧使用jpeg编码成二进制字节流,使用protobuf协议,通过WebSocket传输到前端。
- 前端使用
标签显示图像,渲染可以通过src="data:img/jpeg;base64,xxx"方式渲染。
- 使用Canvas渲染图像
- 通过MouseDown、MouseUp、MouseMove事件获取用户手势,使用beginPath()&closePath()以及clip()获取闭合路径。
- 使用clearRect()清除图像显示背景图像。
- 通过差分法获取运动边缘。
- 使用腐蚀扩大白点范围。
- 运动边缘作为mask搜索特征点,与用户选择图像进行匹配。
- 使用PROSAC匹配点降低误差。
- 计算特征点的重心。
请阅读requirements.txt。
FE:https://github.com/picone/RealTimeTrackingCamera_FE
欢迎各种大佬提交宝贵代码OTZ__
- 目标跟踪应该使用相关滤波和神经卷积网络
你可以在GPL 3.0许可下自由使用本项目。