美文网首页Ros
【摄像头标定】HD USB Camera

【摄像头标定】HD USB Camera

作者: ClarkWang1214 | 来源:发表于2021-03-11 18:19 被阅读0次

准备工作

1) 棋盘格打印参数:
  • 内部焦点个数8x6;
  • 每个棋盘格正方形边长为24mm;
2) 安装ros相机标定程序
rosdep install camera_calibration #安装标定程序
mkdir catkin_ws
cd catkin_ws
mkdir src
git clone https://github.com/bosch-ros-pkg/usb-cam.git
cd ..
catkin_make
source devel/setup.bash
roslaunch usb_cam usb_cam-test.launch
# 打开一个新终端
rostopic list
# 输入一个标定指令
rosrun camera_calibration cameracalibrator.py --size 8x6 --square 0.024 image:=/usb_cam/image_raw camera:=/usb_cam

标定步骤

  • 打开一个终端,执行roscore命令启动ros
  • 再开一个终端,将usb-camera下载到catkin_ws下的src目录中;
  • 然后在catkin_ws目录进行catkin_make
  • 在catkin_ws目录下会生成两个builddevel目录
  • source一下devel下的setup.bash文件source devel/setup.bash
  • 再打开一个新终端,执行启动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
采集标定图像,直到右上角X、Y、Size、Skew都为绿色 采集标定图像,直到右上角X、Y、Size、Skew都为绿色 采集标定图像,直到右上角X、Y、Size、Skew都为绿色

上述命令出现的几个输入参数。
1)--size 8x6:表示标定棋盘格的内部角点数目的长和宽,6行8列
2)--square 0.024:每个正方形棋盘格的边长,单位m。这里的每个棋盘小格子是2.4cm也就是0.024m;
3)image和camera:设置摄像头发布的图像topic。

  • 标定程序使用方法:
    为了得到一个好的标定结果,应该使得标定板尽量出现在摄像头视野的各个位置里:如标定板出现在视野中的左边,右边,上边和下边,标定板既有倾斜的,也有水平的。
    x:表示标定板在视野中的左右位置。
    y:表示标定板在视野中的上下位置。
    size:标定板在占视野的尺寸大小,也可以理解为标定板离摄像头的远近。
    skew:标定板在视野中的倾斜位置。

  • 从不同视角对准标相机定板,使得calibration 按钮变绿而且相机运动满足右上角“X,Y,Size,Skew”长条变绿为止;

  • 此时CALIBRATE按钮从灰色不可点击变为绿色,点击CALIBRATE开始标定参数

点击变绿色了的CALIBRATE按钮开始标定 标定结束保存本地 Screenshot from 2020-12-22 09-46-12.png

相机内参yaml文件

image_width: 640
image_height: 360
camera_name: narrow_stereo
camera_matrix:
  rows: 3
  cols: 3
  data: [ 767.61835,    0.     ,  346.00876,
            0.     ,  767.70392,  176.00989,
            0.     ,    0.     ,    1.     ]
camera_model: plumb_bob
distortion_coefficients:
  rows: 1
  cols: 5
  data: [-0.440663, 0.343160, -0.000965, -0.002679, 0.000000]
rectification_matrix:
  rows: 3
  cols: 3
  data: [ 1.,  0.,  0.,
          0.,  1.,  0.,
          0.,  0.,  1.]
projection_matrix:
  rows: 3
  cols: 4
  data: [ 708.30072,    0.     ,  347.95183,    0.     ,
            0.     ,  746.67316,  175.1875 ,    0.     ,
            0.     ,    0.     ,    1.     ,    0.     ]

用ROS下采集的标定图像方法Matlab R2020a上进行验证

Camera Calibration工具箱中加载所有图像 点击标定Calibrate按钮进行标定 重投影误差 image.png 标定信息 相机标定后得到的参数 Matlab相机内参矩阵 ROS相机内参矩阵 image.png

相关文章

  • 【摄像头标定】HD USB Camera

    准备工作 1) 棋盘格打印[http://wiki.ros.org/camera_calibration/Tuto...

  • ROS cv_camera 获取USB摄像头图像

    安装cv_camera 连接硬件 插入USB摄像头终端输入 摄像头为/dev/video0 修改权限 启动node...

  • 相机标定详解

    1、相机标定(camera resectioning or camera calibration) Camera ...

  • H5+

    camera Camera模块管理设备的摄像头,可用于拍照、摄像操作,通过plus.camera获取摄像头管理对象...

  • 待续

    Android Camera(摄像头) Android Camera Api的心得 Android从Camera中...

  • 2018-10-15usb_cam

    相机标定 下载calibration 标定文件目录下执行:rosrun camera_calibration ca...

  • TX2 Runing Darknet (JetPack 3.3)

    Download & Build: Install & Run: Run Result :(USB Camera ...

  • ROS机器人底盘(36)-USB摄像头使用

    USB摄像头 PIBOT机器人小车可以接入USB摄像头作为监控摄像头,可以实时传输视频流 查看摄像头节点ls /d...

  • Camera api2 frameworks

    Camera 工作结构 Camera Device:代表一个摄像头,在一部手机上有可能有多个摄像头,如前置摄像头,...

  • USB摄像头一进二出分配器

    更多讯息,请到谷歌搜寻下面关键字 "usb webcam splitter " "usb camera split...

网友评论

    本文标题:【摄像头标定】HD USB Camera

    本文链接:https://www.haomeiwen.com/subject/ccvjnktx.html