在巨人的肩膀上学习:
https://blog.csdn.net/qq_30460905/article/details/80390576
https://blog.csdn.net/u012423865/article/details/77766037
https://www.cnblogs.com/CZM-/p/6024600.html
https://blog.csdn.net/limhsysu/article/details/84988567
官网:
http://wiki.ros.org/usb_cam
http://wiki.ros.org/camera_calibration
下载usb_cam:
git clone https://github.com/ros-perception/image_pipeline.git
相关操作
- 查看当前的video:
其中 video0是主机自带的相机,video1是外部usb相机,我实现的是标定外部相机video1。 - 根据基本套路下载usb_cam
参考:http://wiki.ros.org/camera_calibration - 下载完成后,进入usb_cam打开launch中的usb_cam-test.launch
可以看到默认为Video0,之类的初始化
可参考官网:http://wiki.ros.org/usb_cam 详细了解每一个参数的意思
修改usb_cam-test.launch
我们要标定的是外部的USB摄像头,可以通过修改usb_cam-test.launch文件实现,先查看一下相机的参数:
- 查看相机0,对应上面的初始文件
v4l2-ctl -d /dev/video0 --all
- 找到对我们有用的参数:
- 查看video1,找到相关参数:
- 修改usb_cam-test.launch文件:
注意:这里的
<param name="pixel_format" value="mjpeg" />
不是参数中的MJPG
,因为官网明确指定有格式,只支持 mjpeg , yuyv , uyvy 三种格式
这样,下面的步骤就是运行ros
roscore
输入指令打开相机:
roslaunch usb_cam usb_cam-test.launch
查看话题+输入标定指令:
我第二个指令输错啦,原因是没有对应消息发布的image和camera,根据rostopic,为的image应该是
image:=/usb_cam/image_raw camera:=/usb_cam
其他需要改的棋盘和格子大小根据自己的标定板
CALIBRATE亮起即可,点一下它等半分钟左右,得到标定数据:
本次标定:https://github.com/Mw02/RoboMaster/tree/master/ calibration/usb_cam