1、此贴记录一下作者在ros中使用摄像头的方法,如有错误和不足请在评论区批评指正,手上有三种摄像头(1、单目摄像头 2、双目摄像头_俩usb端口 3、双目摄像头_单usb端口)不同摄像头的launch文件略有不同;

2、准备工作,使用下面命令查看是否检测到视频设备,如果电脑自身没有摄像头的话,单目和双目单usb端口摄像头会显示/dev/vedio0 双目俩usb端口会显示/dev/vedio0 /dev/vedio1记住插入摄像头的端口号;

ls /dev/video*    //插上摄像头后打开终端查看是否检测到摄像头

3、准备工作,下载usb_cam包,该包将摄像头图像通过sensor_msgs::Image消息发布出去

mkdir -p  camera_ws/src                                       //新建工作空间
cd camera_ws/src/
git clone https://github.com/bosch-ros-pkg/usb_cam.git        //克隆功能包
cd ..
catkin_make                                                   //编译

4、准备工作,修改src/usb_cam/launch/usb_cam-test.launch,单目的launch文件如图,将第三行摄像头端口/dev/video0改为你的端口,第六行参数像素格式,usb_cam支持三种yuyv mjpeg  uyvy先设置为yuyv移动摄像头如果画面很卡顿那就轮流试试mjpeg和uyuv

<launch><node name="usb_cam" pkg="usb_cam" type="usb_cam_node" output="screen" ><param name="video_device" value="/dev/video0" /><param name="image_width" value="640" /><param name="image_height" value="480" /><param name="pixel_format" value="yuyv" /><param name="camera_frame_id" value="usb_cam" /><param name="io_method" value="mmap"/></node><node name="image_view" pkg="image_view" type="image_view" respawn="false" output="screen"><remap from="image" to="/usb_cam/image_raw"/><param name="autosize" value="true" /></node>
</launch>

5、运行单目摄像头

cd ~/camera_ws
source devel/setup.bash
roslaunch usb_cam usb_cam-test.launch

6、运行双目俩usb端口摄像头,复制一份usb_cam-test.launch重命名后覆盖删除原内容为如下内容,然后运行步骤与上面单目相同,只是launch文件名不同

<launch><group ns="camera1"><node name="usb_cam1" pkg="usb_cam" type="usb_cam_node" output="screen" ><param name="video_device" value="/dev/video0" /><param name="image_width" value="640" /><param name="image_height" value="480" /><param name="pixel_format" value="yuyv" /><param name="camera_frame_id" value="usb_cam" /><param name="io_method" value="mmap"/></node></group><group ns="camera2"><node name="usb_cam2" pkg="usb_cam" type="usb_cam_node" output="screen" ><param name="video_device" value="/dev/video1" /><param name="image_width" value="640" /><param name="image_height" value="480" /><param name="pixel_format" value="yuyv" /><param name="camera_frame_id" value="usb_cam" /><param name="io_method" value="mmap"/></node></group>
</launch>

7、运行双目单usb端口摄像头,launch文件与第四步单目的相同,只是改第四第五行分辨率640*480为2560*720,如果不改分辨率640*480只有双目其中一个摄像头的画面,2560*720是两个1280*720的图像,改完分辨率运行步骤与单目相同

        <param name="image_width" value="2560" /><param name="image_height" value="720" />

8、使用rostopic list 可以查看到topic,单目和双目单usb端口是一个/usb_cam/image_raw话题,双目双端口是两个/usb_cam/image_raw话题。标定工作和分割双目单usb端口2560*720图像话题为俩1280*720 图像话题工作后面再更新

ROS下使用单目/双目摄像头发布图像话题相关推荐

  1. ORB-SLAM2 特征点法SLAM 单目 双目 rgbd相机SLAM 单应/本质矩阵恢复运动 小图大图地图优化

    ORB-SLAM2 ORB特征点法SLAM 支持单目.双目.rgbd相机 安装测试 本文github链接 orbslam2 + imu ORB-SLAM是一个基于特征点的实时单目SLAM系统,在大规模 ...

  2. DROID-SLAM: 用于单目双目RGBD相机的深度视觉SLAM

    作者丨Clark@知乎 来源丨https://zhuanlan.zhihu.com/p/479534098 编辑丨3D视觉工坊 论文信息 @article{teed2021droid,title={D ...

  3. Ubuntu下使用单目相机运行ORB SLAM2

    环境:Ubuntu16.04+ROS Kinetic+USB单目摄像头 虽然ORB SLAM2的官方说明中表示没有ROS也可以编译运行,但要实时的跑ORB SLAM2还是需要ROS平台的,所以之前没有 ...

  4. 自动驾驶之-MATLAB环境下利用单目摄像头和语义分割创建占位栅格(occupancy grid)

    准备写一些关于自动驾驶方面的东西,以前研究过一些,也比较感兴趣. 本文简单讲解如何使用深度学习语义分割估计车辆可行驶区域(free space),并创建占位栅格(occupancy grid),然后使 ...

  5. 使用自己的INDEMIND相机来运行ORBSLAM2单目,双目和深度模式(小觅相机和realsense通用)

    流程一览 配置ROS ROS环境准备(以16.04 ROS Kinetic为例) 创建自己的工作空间: 配置ORBSLAM 编译ORBSLAM2 ROS 常见错误及解决 运行build-ros.sh时 ...

  6. matlab鱼眼镜头,普通镜头,单目双目相机标定校正(四)

    写这篇文章的目的,是记录相机标定过程和问题,经过试验,记录问题 1.单目相机与双目相机的标定.区别.目的 2.相机拍照时,距离标定板的距离 3.填写参数时.黑白格的大小有影响? 4.参数的设置 5.拍 ...

  7. ROS下实时标定android手机相机摄像头内参

    本人小白,最近在做的项目需要用到同时集成IMU和摄像头的相机,但是目前东西还没到手,因为安卓手机同时具备单目相机和IMU,所以先用安卓手机试一下内参标定的流程.目前已经完成了手机上IMU和单目相机的标 ...

  8. ROS下UVC免驱高速摄像头图像读取以及利用image_transport进行图像传递

    网上可以买到很多高速摄像头模块,常见的就是这个ov2710模组,采用uvc免驱,号称在1080p 30fps,720p 60fps以及VGA 120fps. 值得是注意的是,这些高速模式都是在MJPG ...

  9. 正式开课!如何学习相机模型与标定?(单目+双目+鱼眼+深度相机)

    相机标定可以说是计算机视觉方向的基石.我们常见的许多计算机视觉任务,比如图像畸变校正,三维重建和立体视觉,获取相机参数,是这些工作绕不开的第一步.如何准确有效的获取相机参数就变得尤为重要,相机参数的准 ...

最新文章

  1. Hadoop实战第四章--读书笔记
  2. 120000字,你们要的Java 并发编程图文小册整理出来了,免费送给大家!
  3. php的文件路径问题
  4. python中xlsxwriter_python xlsxwriter使用方法汇总
  5. 设置安全性根据Folder关联的条目模板设置上传文档安全性
  6. Spring入门与常用配置
  7. Linux 系统中 Redis 的安装及其使用
  8. Python编程进阶,Python如何实现多进程?
  9. 浅谈基于软交换的下一代网络技术
  10. javascript控制页面控件隐藏显示的两种方法
  11. WOW工会DKP管理系统
  12. 高数笔记(二):极限的运算法则,极限存在准则,两个重要极限,无穷小的比较
  13. Spring IoC容器设计原理及高级特性
  14. 【设计模式】—-(12)代理模式(结构型)
  15. 获取ua(user Agent)
  16. MQTT-新一代物联网协议
  17. 微信小程序如何存储数据?
  18. 联手中信银行 物品互赠平台宣布“不卖只送”
  19. 全球及中国驾驶员状态监视器行业研究及十四五规划分析报告
  20. 显示mapper找不到:Field xxxMapper in xxx required a bean of type ‘xxxMapper‘ that could not be found

热门文章

  1. 【论文研读】GAN 逆映射 综述 GAN Inversion: A Survey 关键部分翻译 研读思考
  2. matlab 二值图像黑白颠倒,python matplotlib图像将黑白颠倒为defau
  3. fastadmin软删除
  4. fastadmin 自定义搜索
  5. MIT CMS.300 Session 2 – PLAY GAMES 玩 与 游戏
  6. 大学新生考英语和计算机,大学考证:为什么要到大二才能考英语四级?
  7. HDU 5230 ZCC loves hacking(DP)
  8. NV16和BGR相互转换C++实现
  9. 【ACWing】1120. 埃及分数
  10. 浏览器清空页面栈的方法