ros下单目相机校正

1. 安装相应的驱动与程序包。

图像相应包 在gitbub下载image_pipeline : https://github.com/ros-perception/image_pipeline

安装相应的驱动

1)uvc_camera ktossell/camera_umd sudo apt-get install ros-indigo-xxxxx ( camera_umd jpeg_streamer uvc_camera )

2)usb_cam bosch-ros-pkg/usb_cam

2. 相机校正的步骤

1) 启动相机 uvc_camera 或者 usb_cam

roslaunch usb_cam camera.launch (个人的 camera.launch) rviz 具体文件见后。(也可以自己先打开rviz 添加topic后保存,以后直接调用保存的.rviz即可)

camera.launch <launch><node pkg="rviz" type="rviz" name="rviz" args="-d $(find usb_cam)/launch/camera.rviz"/><node name="usb_cam" pkg="usb_cam" type="usb_cam_node" respawn="false" output="log"><param name="video_device" type="string" value="/dev/video0"/><param name="camera_frame_id" type="string" value="usb_cam"/><param name="framerate" type="int" value="30"/><param name="io_method" type="string" value="mmap"/><param name="image_width" type="int" value="640"/><param name="image_height" type="int" value="480"/><param name="pixel_format" type="string" value="yuyv"/></node></launch>

2) 启动校正程序

参见教程

yhzhao@yhzhao:~$ rostopic list/usb_cam/camera_info/usb_cam/image_raw################################/usb_cam/image_raw/compressed /usb_cam/image_raw/compressed/parameter_descriptions/usb_cam/image_raw/compressed/parameter_updates/usb_cam/image_raw/compressedDepthrosrun camera_calibration cameracalibrator.py –size 8×6 –square 0.0245 image:=/usb_cam/image_raw camera:=/camera

出错:如下(‘Waiting for service’, ‘/camera/set_camera_info’, ‘…’)Service not found

运行如下语句: 角点数 棋盘格大小 topic映射rosrun camera_calibration cameracalibrator.py –size 8×6 –square 0.0245 image:=/usb_cam/image_raw camera:=/camera –no-service-check

注意:校正采集的角点图像要多,数量达到一定效果时,calibration 按钮会变亮,点击即可进行校正运算,结果在终端有显示,也可以选择保存。

校正输出结果:('D = ', [-0.1976212648687889, 0.1688022413942262, 0.0124442419926021, 0.005870906198680583, 0.0])('K = ', [485.5897704187133, 0.0, 297.2537641560215, 0.0, 491.6813624489518, 296.2003190013238, 0.0, 0.0, 1.0])('R = ', [1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0])('P = ', [462.4408874511719, 0.0, 301.47298442859574, 0.0, 0.0, 469.7864074707031, 301.54598383033044, 0.0, 0.0, 0.0, 1.0, 0.0])None# oST version 5.0 parameters[image]width640height480[narrow_stereo]camera matrix485.589770 0.000000 297.2537640.000000 491.681362 296.2003190.000000 0.000000 1.000000distortion-0.197621 0.168802 0.012444 0.005871 0.000000rectification1.000000 0.000000 0.0000000.000000 1.000000 0.0000000.000000 0.000000 1.000000projection462.440887 0.000000 301.472984 0.0000000.000000 469.786407 301.545984 0.0000000.000000 0.000000 1.000000 0.000000

3. 启动 ros 相机对应节点发布图像topic

carmera_haved_calibrated.launch

<launch><node pkg="rviz" type="rviz" name="rviz" args="-d $(find usb_cam)/launch/camera.rviz"/><node name="usb_cam" pkg="usb_cam" type="usb_cam_node" respawn="false" output="log"><param name="video_device" type="string" value="/dev/video0"/><param name="camera_frame_id" type="string" value="usb_cam"/><param name="io_method" type="string" value="mmap"/><param name="image_width" type="int" value="640"/><param name="image_height" type="int" value="480"/><param name="pixel_format" type="string" value="yuyv"/><rosparam param="D">[-0.1976212648687889, 0.1688022413942262, 0.0124442419926021, 0.005870906198680583, 0.0]</rosparam><rosparam param="K">[485.5897704187133, 0.0, 297.2537641560215, 0.0, 491.6813624489518, 296.2003190013238, 0.0, 0.0, 1.0]</rosparam><rosparam param="R">[1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0]</rosparam><rosparam param="P">[462.4408874511719, 0.0, 301.47298442859574, 0.0, 0.0, 469.7864074707031, 301.54598383033044, 0.0, 0.0, 0.0, 1.0, 0.0]</rosparam></node></launch>蚁穴虽小,溃之千里。

ros下单目相机校正

相关文章:

你感兴趣的文章:

标签云: