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 接口和 ...
随机推荐
- TCP三次握手四次挥手最通俗理解
工作过程TCP标志位:TCP共有6个标志位,分别是: SYN(synchronous),建立联机.ACK(acknowledgement),确认.PSH(push),传输.FIN(finish),结束 ...
- element-ui中上传文件upload
<el-upload class="upload-demo" name="targetFile" ref="upload" :with ...
- lamdba表达式
lambda表达式是一个可传递的代码块,可以在以后执行一次或多次. lambda表达式的语法: 1. 参数 -> 表达式(无需指定返回类型) (String first, String seco ...
- 使用ajax分页查询
controller: /** * 查询所有用户/查找指定用户 * 分页+搜索 * */@RequestMapping("/findClientBySize")@ResponseB ...
- SVN百度云服务器安装使用。
安装SVN客户端 此时,必须重启,否则经常出现用不了. 重启后,还是用不了的话,那么就重新安装系统. 网站地址: http://xiaomosheng.bceapp.com/ SVN代码服务器的地址: ...
- Excel文件导入导出(基于Nodejs、exceljs)
Excel导入.导出是大多数项目的管理后台必备功能.几年来使用过多个该功能的实现包,最近一次开发该功能,突然发现一个人气极高(3000+)的包,这里记录一下使用方法. 大凡厉害的技术的文档咋一看都想字 ...
- Luogu4113 [HEOI2012]采花
题目大意:给定一个长度为$n$的序列$a_i$,$m$次询问,每次询问$[l,r]$,求在区间内有多少个数出现了至少2次. 数据范围:$1\leq l\leq r\leq n\leq 2*10^6,1 ...
- jQuery通过ajax请求php遍历json数组到table中的代码
html代码(test.html),js在html底部 具体代码如下所示: <!DOCTYPE html> <html lang="en"> <hea ...
- SSH三大框架的工作原理以及流程
Hibernate工作原理以及为什么要用 原理:1.通过Configuration().configure();读取并解析hibernate.cfg.xml配置文件2.由hibernate.cfg.x ...
- CentOS 7.5 安装 Python3.7
1.安装开发者工具 yum -y groupinstall "Development Tools" 2.安装Python编译依赖包 yum -y install openssl-d ...