多摄像机标定和去畸变

本文介绍了多摄像机标定的方法,包括kalibr、OpenCV和Matlab的标定流程,并强调了kalibr在Ubuntu 16.04上的安装配置和多摄像机标定过程中的注意事项。此外,还讲解了利用标定矩阵去除镜头畸变的OpenCV函数应用。
摘要由CSDN通过智能技术生成

Table of Contents

1、kalibr多摄像机标定

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

1.2 多摄像机标定

 2、OpenCV双目标定

 3、Matlab多摄像机标定

 4、利用标定矩阵去畸变





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

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

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


1、kalibr多摄像机标定

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

kalibr支持小孔摄像机模型 pinhole camera model 代号(pinhole),全景(鱼眼)摄像机模型 omnidirectional camera model代号 (omni),double sphere camera model (ds) 和extended unified camera model (eucm)

畸变模型支持四种:

(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])

(4)none (none)无畸变

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-properti

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值