多摄像机标定

Table of Contents

1、kalibr多摄像机标定

1.1 系统安装,环境配置:实测Ubuntu 16.04

1.2 多摄像机标定

2、OpenCV多摄像机标定

3、Matlab多摄像机标定




进行摄像机标定的目的:求出相机的内、外参数,以及畸变参数。

标定相机后通常是想做两件事:一个是由于每个镜头的畸变程度各不相同,通过相机标定可以校正这种镜头畸变矫正畸变,生成矫正后的图像;另一个是根据获得的图像重构三维场景。

摄像机标定过程,简单的可以简单的描述为通过标定板,如下图,可以得到n个对应的世界坐标三维点Xi和对应的图像坐标二维点xi,这些三维点到二维点的转换都可以通过上面提到的相机内参K,相机外参R和t,以及畸变参数D,经过一系列的矩阵变换得到。


1、kalibr多摄像机标定

kalibr提供两种标定方法,标定板标定和IMU联合标定。IMU联合标定又分了两种,都需要移动摄像机测其加速度,这里只讨论第一种方法。

扫描二维码关注公众号,回复: 2758996 查看本文章

kalibr支持小孔摄像机模型   pinhole camera model 代号(pinhole)和全景(鱼眼)摄像机模型  omnidirectional camera model代号 (omni),畸变模型支持三种:

(1) radial-tangential模型代号 (radtan) 畸变参数 (distortion_coeffs: [k1 k2 r1 r2])

(2)equidistant模型代号 (equi)畸变参数(distortion_coeffs: [k1 k2 k3 k4])

(3) fov模型代号 (fov)畸变参数(distortion_coeffs: [w])

1.1 系统安装,环境配置:实测Ubuntu 16.04

github地址https://github.com/ethz-asl/kalibr/wiki/installation

按此教程安装原作者只tested on Ubuntu 14.04 with ROS indigo,在Ubuntu 16.04上测试各种坑:

(1)首先ROS版本不对,Wily (Ubuntu 15.10), Xenial (Ubuntu 16.04) and Jessie (Debian 8)需要用Kinetic版,indigo only for Ubuntu 14.04,解决方法 apt-cache search ros-kinetic 再install

(2)实际上还是第一个问题,在step1中:sudo apt-get install python-setuptools python-rosinstall ipython libeigen3-dev libboost-all-dev doxygen libopencv-dev ros-indigo-vision-opencv ros-indigo-image-transport-plugins ros-indigo-cmake-modules python-software-properties software-properties-common libpoco-dev python-matplotlib python-scipy python-git python-pip ipython libtbb-dev libblas-dev liblapack-dev python-catkin-tools libv4l-dev

其中的indigo换成kinetic,然后第一步搞定。这里ROS是一个机器人操作系统,你没看错,操作系统...具体在本节不详述,先看看详细教程。

(3)每次编译完记得source ~/kalibr_workspace/devel/setup.bash不然can not find kalibr...这不是很大的问题,按照教程编译即可顺利完成。

1.2 多摄像机标定

github地址https://github.com/ethz-asl/kalibr/wiki/multiple-camera-calibration

按此教程测试成功,然而:在使用google上测试集解压时kalibr_bagextractor命令报错

(1)需要将所有import cv去掉改成import cv2,如有import cv2可以不加,可以在kalibr_workspace中grep一下。

(2)/kalibr_workspace/src/Kalibr/aslam_offline_calibration/kalibr/python下kalibr_bagextractor.py中CV_IMWRITE_PNG_COMPRESSION这玩意现在OpenCV中改名了改成IMWRITE_PNG_COMPRESSION,错误解决。

标定结果会有几个配置文件和十几张图,四相机标定第一张如下:

2、OpenCV多摄像机标定

3、Matlab多摄像机标定

猜你喜欢

转载自blog.csdn.net/aaron19890330/article/details/81626161
今日推荐