ROS下获取USB免驱动高速摄像头图像数据

本文详细介绍如何在ROS环境下安装并配置uvc_camera包,包括安装步骤、测试方法及自定义launch文件等内容,帮助读者实现USB摄像头图像的有效读取。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

开发环境

PC系统 ubuntu14.04
USB摄像头:Logitech C920
ROS版本 indigo
ROS_package uvc_camera
uvc_camera ROS pkg and camera_calibration.yaml for ARTag

大前提,大家的电脑已经安装了Linux系统,并安装了相应的ROS

使用uvc_camera package

1. 安装uvc_camera package

方法一
sudo apt-get install ros-indigo-uvc-camera
source /opt/ros/indigo/setup.bash 、
但是因为我的软件源,无法下载安装,为此我尝试了更改源,并把一些ROS源添加到/etc/apt/sources.list中,但都没有成功
deb http://ros.exbot.net/rospackage/ros/ubuntu/ trusty main #易科实验室做的ROS镜像源

deb http://mirrors.ustc.edu.cn/ros/ubuntu/ trusty main
deb http:/ros.exbot.NET/rospackage/ros/ubuntu $(lsb_release -sc) main

方法二 直接下载uvc camera package ,然后自己编译

-下载 uvc_camera ROS pkg and camera_calibration.yaml for ARTag
-编译
将下载的package 放在ROS的工作空间中,一般为~/catkin_ws/src/。
然后在工作空间的根目录下(~/catkin_ws)进行编译:

catkin_make

2. 测试和查看安装结果

为了验证自己uvc_camera是否安装成功,首先进行查看

rospack list //查看package列表中是否有uvc_camera
rospack find uvc_camera //这个就是我们刚才安装时候的路径
roscd uvc_camera //定位到这个功能包的路径下
rosls //查看它的文件结构
.launch文件是一个多节点同时运行的一个配置文件 src是源码文件夹

测试一下是否能用 uvc_camera获取到图像

开启一个终端 roscore
开启一个终端 rosrun uvc_camera uvc_camera_node
开启一个终端 rqt_image_view 选择/image_raw
如果看到图像,说明uvc_camera可以正常运行

3. 配置自己的.launch文件

定位到 uvc_camera的launch文件夹下

roscd uvc_camera
ls
cd launch
vim my_camera_node.launch

<launch>  
  <node pkg="uvc_camera" type="uvc_camera_node" name="uvc_camera" output="screen">  
    <param name="width" type="int" value="1920" />  
    <param name="height" type="int" value="1080" />  
    <param name="fps" type="int" value="30" />  
    <param name="frame" type="string" value="wide_stereo" />  

    <param name="auto_focus" type="bool" value="False" />  
    <param name="focus_absolute" type="int" value="0" />  
    <!-- other supported params: auto_exposure, exposure_absolute, brightness, power_line_frequency -->  

    <param name="device" type="string" value="/dev/video0" />  
    <param name="camera_info_url" type="string" value="file://$(find uvc_camera)/example.yaml" />  
  </node>  
</launch>  

测试,自己的Lauren文件 要在launch文件夹下运行

runlaunch my_camera_node.launch

运行的过程
启动roscore –>运行节点 (launch文件)–>查看图像
查看图像有两种方法

一 rqt_image_view
二 rosrun image_view image_view image:=/image_raw

深入研究库文件

git clone https://github.com/ros-drivers/camera_umd.git
然后将 uvc_camera package 放到自己的ROS workspace中,
然后catkin_make 发现有一个错误,找不到libv4l2.h
说明这个包是通过v4l2来捕获图像的,所以缺少v4l2的库文件
sudo apt-get install libv4l-dev
再编译 OK 通过

参考
ROS下UVC免驱高速摄像头图像读取以及利用image_transport进行图像传递
./launch文件分析
uvc_camera_wiki

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一銤阳光

希望分享的内容对你有帮助

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值