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 接口和 ...
随机推荐
- MySQL数据库的几种引擎
有些东西其实一直在用,但是突然问起来它是啥,可能你会很陌生,很陌生,很陌生 ....... mysql的四种引擎: 1.MyISAM存储引擎 不支持事务,不支持外键,优势是访问速度快,对事务完整性没有 ...
- BringWindowToTop完美激活窗口与置顶
void ActiveWin(IntPtr h) { IntPtr hForeWnd = GetForegroundWindow();//获取当前窗口句柄 int tIdCur = GetWindow ...
- 邮局 100分代码(dfs+多重剪枝)
蓝桥杯真题-邮局 #include<iostream> #include<algorithm> #include<set> #include<string&g ...
- 1python简介
02 python和03 python的区别: python:优美,清晰,简单. python2x: 源码重复,混乱,冗余. 源码不规范. python3x: 源码整合,优美,清晰 ...
- MacBookPro磁盘空间不够
256G的SSD还是快被占满了,剩余12G,本来一切运行正常. 要往U盘里拷点资料,突然电脑就罢工了,cleanMyMac 显示磁盘容量剩余 1.8G. finder 罢工,无法重启,无法强退. 无法 ...
- MongoDB安全使用指引
MongoDB社区版有三大主要安全措施,分别是安全认证.角色授权和TLS/SSL传输加密.当然除此之外,定期做数据库备份,也是很好的安全防范手段.另外,本文还将对一些提升MongoDB安全性的细节做阐 ...
- msmq访问格式
//集群测试,以下格式不行(应是Host映射之类没配置OK) //_MSMQPath = @"FormatName:DIRECT=TCP:msmq496-ha\private$\496-10 ...
- tfs权限设置
需求,管理员用户可以看到tfs里面的所有项目,现在需要给某个开发人员设置权限,只让其看到其中某一个项目. 一.tfs服务器设置 1.在服务器管理器中的[本地用户和组]中添加一个新用户,并在“组”将新用 ...
- 3种检测页面是否符合amp标准的方法
AMP的关键优势不仅仅在于它能让你的页面更快,还在于它的快可以被验证.有几种方法可以验证AMP文档,它们都会产生完全相同的结果,选择最适合您的开发风格的方法.除了AMP的有效性,您可能还想确认您的AM ...
- python 不知道是啥
1.判断两个大文件是否是同一个文件 import os import hashlib import time start = time.time() path1 = r"E:\视频资料\el ...