更新日期: 2026.1.13
版本号: V1.1
因为目标检测和跟踪对于实时性的要求很高,所以我们需要调整分辨率和帧率来增加实时性上限。
在我们连接上相机之后(连接指南可点击查看),我们可以看到摄像头的ip地址

然后在浏览器输入这个ip地址进入摄像头的设置页面
用户名:admin
密码:123456

找到分辨率和帧率,并修改为1280x720 25帧

保存

操作系统版本: windows11
python版本: 3.10.18
pip install opencv-python==4.12.0.88
pip install pyserial==3.5
pip install ultralytics==8.3.249
然后更改ip
ffmpeg_command = [
"ffmpeg",
"-rtsp_transport", "tcp",
"-fflags", "nobuffer+flush_packets",
"-flags", "low_delay",
"-probesize", "32",
"-analyzeduration", "0",
"-i", "rtsp://192.168.1.33:554/stream1", 每个相机的IP地址都不一样
"-pix_fmt", "bgr24",
"-f", "rawvideo",
"-vf", f"fps={TARGET_FPS}",
"-"
]
运行脚本文件

可以看到识别功能已经能够实现了,接下来就是添加跟踪功能了
我们依旧使用1公里透传进行飞行指令的下发,utils文件夹下的datalink_serial.py负责使用串口连接无人机,直接连接透传模块的串口接口,如下图所示

通过设备管理器找到串口设备,可以看到我们的串口设备对应COM56

然后根据上面查询的串口设备COM口更改datalink_serial.py文件中的串口设备

下面附带飞机端的串口接线图
注意: 透传口占用的串口和Mlink模块是同一个串口


最后我们运行main.py脚本文件即可
python main.py
更改main.py文件中的TrackDown为True即可启用下视追踪