darknet yolov3 webcam摄像头运行保存视频命令程序崩溃

前言

在使用darknet打开摄像头进行目标检测时, 除了想实时监测外, 还想保存检测的视频, 就可以使用-out_filename这个参数
比如下面的命令

1
darknet detector demo cfg/coco.data cfg/yolov3-tiny.cfg weights/yolov3-tiny.weights -out_filename webcam.avi

但是却直接遇到了崩溃, 明明不保存视频时不会奔溃的, 为什么一使用-out_filename就崩溃了

进行调试

遇到这种问题, 只能通过调试源代码才能查出代码崩溃的原因

  1. 先设置好命令行参数, 注意使用绝对路径, coco.data里面的names参数也要用绝对路径(相对路径也可以, 但容易出错, 出错程序会一闪而过, 通过单步调试可知为什么闪退了)

  2. 进行摄像头保存调试, 即 使用参数-out_filename

通过单步调试找到中断点在这里,
思考到我们调用的是摄像头, 应该是涉及不到get_stream_fps这个函数, 应该默认为25即可。
修改代码为如图,

1
if (filename) src_fps = get_stream_fps(cap, cpp_video_capture);

再次编译, 测试摄像头录像保存


成功导出了录像视频

-------本 文 结 束 感 谢 您 的 阅 读-------
赞赏一杯咖啡
0%