摄像头驱动安装
编写摄像头启动usb-cam.launch文件
usb_cam功能包中的参数
usb_cam功能包中的话题
消息中各个域的含义如下:
启动摄像头
如果使用的是带内置USB摄像头的笔记本,此时摄像头应当已经启动了:
查看摄像头图像
内参属于摄像头自身参数,外参是指和机械臂之间的位置关系。标定内参是为了消除图像的畸变,再做后面的识别。ROS提供了标定功能包,直接命令行安装:
安装后启动摄像头和标定功能程序:
将标定板摆放不同的位置和角度,直到 CALIBRATE 变为绿色,点击,即可完成摄像头内参标定。
点击SAVE,程序将标定文件写入磁盘保存。
解压后会得到一系列标定过程中获得的图片和一个yaml标定文件,这个标定文件即包含了摄像头的内参,可直接在usb_cam功能包中使用。
得到标定文件后,在开头的usb_cam.lauch文件中加入tag:
再次启动摄像头后获得的图像即为标定后的图像了。如果启动过程中有警告:does not match name narrow_stereo in file,可尝试将yaml文件中的camera_name修改为 head_camera 后再重新启动。
在ROS中使用OpenCV,可以通过CvBridge功能包来实现ROS图像消息和OpenCV图像数据结构间的转换:
在ROS中进行OpenCV物体识别开发一般经过如下的流程:
启动后将看到标注人脸(如果有)的视频流,终端会打印检测到人脸的数目: