ROS中使用Kinect摄像头和usb摄像头
1、安装的一些包
kinect用的freenect:
$ sudo apt-get install ros-indigo-freenect-launch
$ sudo apt-get install ros-indigo-freenect-camera
$ sudo apt-get install ros-indigo-freenect-stack
驱动安装好后,首先在终端输入“roscore”,启动节点,然后在新的终端输入“roslaunch freenect_launch freenect.launch”。
显示RGB图像:
方法一:rosrun image_view image_view image:=/camera/rgb/image_color 即可显示RGB图像。
方法二:用rviz显示:在终端输入“rosrun rviz rviz”打开rviz,点击add,修改Global Options里的Fixed Frame为camera_depth_frame,选择camera类型,添加成功后选择camera菜单下的Image Topic选项,选择/camera/rgb/image_color.
显示深度图像:
方法一:在终端输入“rosrun image_view image_view image:=/camera/depth/image_raw”,即可显示深度图;
方法二:使用rviz显示。在终端输入“rosrun rviz rviz”打开rviz,修改Global Options里的Fixed Frame为/camera_depth_optical_frame,接着点击add添加PointCloud2类型,修改topic为/camera/depth/points。
usb摄像头:
roslaunch usb_cam usb_cam-test.launch
特别注意:使用虚拟机的话,要设置USB兼容3.0.并在可移动设备里面将usb接口打上沟,如果rgb显示正常,但是深度显示不正常,重新插一下深度usb、然后先打开深度节点,再打开rgb节点,启动rviz,可以选择image,image topic可以选择rgb或者depth,也可以选则pointcloud2,订阅、camera/rgb/image_cloud或者深度对应的。如果此时看不到任何数据,status显示error,修改Fixed Frame参数,将其换成相机或者点云的话题即可
2、usb摄像头标定功能包:
安装标定功能包
$ sudo apt-get install ros-indigo-camera-calibration 启动usb摄像头
$ roslaunch usb_cam usb_cam-test.launch 启动标定程序
$ rosrun camera_calibration cameracalibrator.py --size 8x6 --square 0.024 image:=/usb_cam/image_raw camera:=/usb_cam
就用书上的标定靶或者打印一份,对着摄像头不断前后左右旋转移动,直到Calibrate按钮变成绿色,此时界面会卡一会儿,千万不要关闭,参数计算完成后见面恢复,终端中会有标定结果的显示,点击SAVE,标定参数保存到默认文件夹中,可以在终端中看到路径,点击COMMIT提交数据并退出,打开/tmp文件夹,,标定结果为calibrationdata.tar.gz,解压找到ost.yaml,复制出来重命名即可使用,然后修改launch文件即可加载标定的yaml
3、kinect标定:
roslaunch freenect_launch freenect.launch
rosrun camera_calibration cameracalibrator.py image:=/camera/rgb/image_raw camera:=/camera/rgb --size 8x6 --square 0.024
rosrun camera_calibration cameracalibrator.py image:=/camera/ir/image_raw camera:=/camera/ir --size 8x6 --square 0.024
加载方式:根据启动时候的报错信息,参数与实际的名称不符合,按提示修改launch文件即可为上述保存的标定文件名称
ROS中使用Kinect摄像头和usb摄像头的更多相关文章
- 2.7 usb摄像头之usb摄像头描述符打印
学习目标:参考lsusb源码,打印USB摄像头的设备描述符.配置描述符.接口联合描述符.端点描述符: 一.lsusb命令和源码 使用命令lsusb可以看看设备的id,并执行 # lsusb -v -d ...
- ROS学习(一)Ros 中使用kinect
上的安装说明如下: 官网上明确写了如果安装windows kinect还需要安装一个驱动,但是有些ROS的书上并没有这么做,只提到了使用如下两步进行安装即可使用: sudo apt-get insta ...
- RTSP流和USB摄像头转MJPEG使用VLC
测试环境: 系统: Ubuntu14.04 LTS Desktop 设备:海康IP摄像头和USB摄像头 1.需要先安装vlc包,命令行运行 sudo apt-get update sudo apt-g ...
- python opencv 读取USB摄像头的像素问题
问题描述 每次调用capture读取video的时候,还回的像素都是640x480,不管是笔记本的摄像头还是USB摄像头,明明我的摄像头是支持130万读取的功能的呀. 问题分析 一番查找,关于用ope ...
- ROS学习笔记七:在ROS中使用USB摄像头
下面是一些USB摄像头的驱动(大多数摄像头都支持uvc标准): 1 使用软件库里的uvc-camera功能包 1.1 检查摄像头 lsusb ----------------------------- ...
- ROS 使用自带和usb摄像头获取图像
笔记本自带的摄像头的设备号一般为/dev/video0 第一步:安装Webcam 驱动 $ sudo apt-get install git-core $ cd ~/catkin_ws/src $ g ...
- 29、从零写USB摄像头驱动之通过urb接受数据后上报数据是函数中fid的作用
原因分析如下: 视频数据是由一帧一帧数据组成,为了防止数据错乱,会给每一帧数据分配一个frameid,从第0帧开始,接着是第1帧,接着又是第0帧这样交错进行的,对usb摄像头来说每一帧数据来源于多个包 ...
- ubuntu12.04+fuerte 下跑通lsd-slam——使用usb摄像头
上一篇介绍了如何使用数据集跑lsd-slam,这篇介绍如何用一个普通的usb摄像头跑lsd-slam,默认ubuntu12.04,fuerte已经安装好,workspace也已设置,如果没有,请参考上 ...
- Linux USB摄像头驱动【转】
本文转载自:http://www.itdadao.com/articles/c15a509940p0.html 在 cortex-a8 中,可接入摄像头的接口通常可以分为两种, CAMERA 接口和 ...
随机推荐
- llinux挂载多个光驱
因为u盘量产,一个u盘两启,所以linux需要访问多个cdrom(一个物理光驱,一个虚拟光驱),本来一位无法使用,看了看/dev目录下面, [root@linux-node3 cdrom]$ ll / ...
- Error creating bean with name 'dataSource' defined in class path resource 报错解决办法
在学习spring boot 的数据库操作的时候,报了一串错误
- js 类
---恢复内容开始--- <!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset ...
- .NET Core 中基于 IHostedService 实现后台定时任务
.NET Core 2.0 引入了 IHostedService ,基于它可以很方便地执行后台任务,.NET Core 2.1 则锦上添花地提供了 IHostedService 的默认实现基类 Bac ...
- 蓝桥杯九宫重排(bfs+用set去重)
题目连接 #define _CRT_SECURE_NO_WARNINGS #include<cstdio> #include<iostream> #include<que ...
- 干货 | 教你如何监控 Java 线程池运行状态
之前写过一篇 Java 线程池的使用介绍文章<线程池全面解析>,全面介绍了什么是线程池.线程池核心类.线程池工作流程.线程池分类.拒绝策略.及如何提交与关闭线程池等. 但在实际开发过程中, ...
- 缓存机制 ehcache、redis
本文主要记录ehcache和redis实现缓存(redis版本号:5.0.3) 一.ehcache 1.ehcache:用来管理Java中缓存的轻量级工具,其核心通过CacheManager使用,一般 ...
- mint-ui笔记
1.安装: npm install mint-ui --save npm install babel-plugin-component --save-dev //(只引入部分组件时需要安装) 2.导入 ...
- redis集群及相关的使用
从redis 3.0之后版本支持redis-cluster集群,Redis-Cluster采用无中心结构,每个节点保存数据和整个集群状态,每个节点都和其他所有节点连接. 1.所有的redis节点彼此互 ...
- jenkin如何实现web版本控制&回退
jenkins本身作为一款运维利器,具备 1. 持续集成 (Continuous integration) 2. 持续交付(Continuous delivery) 3. 持续部署(continuou ...