You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用搭载Yolov3的darknet_ros时如何对mp4视频文件进行测试

darknet_ros使用MP4视频文件完成测试的操作方案

默认darknet_ros仅配置了摄像头读取逻辑,你可以通过以下两种方案实现MP4视频的检测测试:

方案1:直接修改darknet_ros原生配置(操作最简单)

darknet_ros源码本身已经预留了视频文件读取的参数,只需要修改对应launch文件即可:

  1. 进入ROS工作空间下的darknet_ros/darknet_ros/launch目录,找到你正在使用的检测启动文件,例如yolov3.launch、yolov4-tiny.launch
  2. 修改文件内的参数配置:
    • 将use_camera参数的取值改为false
    • 新增video_path参数,取值填写你要测试的MP4文件的绝对路径
      示例修改代码:
    <param name="use_camera" value="false" />
    <param name="video_path" value="/home/你的用户名/视频/test_demo.mp4" />
    
  3. 保存launch文件后正常启动darknet_ros即可,程序会自动读取指定MP4文件逐帧执行检测。

方案2:通过ROS图像话题桥接(兼容性最强,适配所有版本darknet_ros)

如果你的darknet_ros版本没有预留video_path参数,可以通过第三方包将MP4转成标准ROS图像话题,再让darknet_ros订阅该话题执行检测:

  • 第一步:安装对应ROS版本的视频流转换包,以ROS Noetic为例:
    sudo apt install ros-noetic-video-stream-opencv
    
    其他ROS版本只需将命令中的noetic替换为你的版本代号(如melodic、humble等)即可。
  • 第二步:新建一个启动文件publish_mp4.launch,内容如下:
    <launch>
      <node name="mp4_publisher" pkg="video_stream_opencv" type="video_stream" output="screen">
        <!-- 此处替换为你的MP4文件绝对路径 -->
        <param name="video_stream_provider" value="/home/你的用户名/视频/test_demo.mp4" />
        <param name="fps" value="25" />
        <param name="frame_id" value="camera_frame" />
      </node>
    </launch>
    
  • 第三步:修改darknet_ros的启动文件,将camera_reading_topic参数的取值改为/camera/image_raw(就是上面的launch文件发布的图像话题名),保持use_camera参数为true即可。
  • 第四步:先启动MP4发布节点,再启动darknet_ros检测节点,即可看到对MP4视频的检测结果。

常见注意事项

  • 所有涉及文件路径的参数都必须填写绝对路径,避免ROS工作空间路径扫描异常找不到文件
  • 如果需要保存检测后的输出视频,可在darknet_ros的launch文件中将save_video参数设为true,输出文件默认保存在darknet_ros包的根目录下
  • 若检测过程中画面卡顿,可适当调低darknet_ros的置信度阈值减少计算量,或者调低MP4发布节点的fps参数。

内容的提问来源于stack exchange,提问作者Sang Hyun Park

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 12:24:05