当前位置:文档之家› 基于OpenCV的CCD摄像机标定方法_雷铭哲_孙少杰_陈晋良_陶磊_魏坤

基于OpenCV的CCD摄像机标定方法_雷铭哲_孙少杰_陈晋良_陶磊_魏坤

MethodofCCDCameraCalibrationBasedOnOpenCVLEIMing-zhe1,SUNShao-jie2,CHENJin-liang1,TAOLei1,WEIKun1(1.North Automation Control Technology Institute ,Taiyuan 030006,China ;2.Navy Submarine Academy ,Qingdao 266042,China)Abstract:Computervisionhasbeenwidelyusedinindustry,agriculture,military,transportationareaandsoon.Cameracalibrationisveryimportantandalsothekeyresearchfieldofvisionsystem.ThispapermainlyresearchesonthemethodofCCDcameracalibration,thepin-holemodelhasbeenintroducedandappliedinprocessofcalibration.Specially,inordertoimprovetheaccuracy,bothradialandtangentiallensdistortionhavebeentakenintoaccountduringtheimplementofcalibrationbasedonOpenCV.Thiskindofarithmetichaspracticalvalueontheapplicationdesignofimageprocessingandcomputervision,andexperimentresultsshowgoodprecision,whichcanmeettheapplicationneedofvisualinspectionorothervisionsystemswell.Keywords:pin-holemodel,cameracalibration,lensdistortion,OpenCV摘要:计算机视觉在工业,农业,军事,交通等领域都有着广泛应用。

摄像机标定是视觉系统的重要环节,也是研究的关键领域。

以摄像机标定技术为研究对象,选取针孔成像模型,简述了世界坐标系、摄像机坐标系和图像坐标系及其相互间的位置关系,对标定过程进行了深入研究。

特别地,为提高标定精度,充分考虑了透镜径向和切向畸变影响及其求解方法,制作了棋盘格平面标定模板,基于开放计算机视觉函数库(OpenCV)实现了摄像机标定。

该标定算法能够充分发挥OpenCV函数库功能,对于图像处理与计算机视觉方面的应用设计具有实用价值。

实验结果表明该方法取得了较高精度,能够满足视觉检测或其他计算机视觉系统的应用需要。

关键词:针孔模型,摄像机标定,透镜畸变,OpenCV中图分类号:S219文献标识码:A基于OpenCV的CCD摄像机标定方法雷铭哲1,孙少杰2,陈晋良1,陶磊1,魏坤1(1.北方自动控制技术研究所,太原030006;2.海军潜艇学院,山东青岛266042)文章编号:1002-0640(2014)增刊-0049-03Vol.39,SupplementJul,2014火力与指挥控制FireControl&CommandControl第39卷增刊引言摄像机标定是计算机视觉系统的前提和基础,其目的是确定摄像机内部的几何和光学特性(内部参数)以及摄像机在三维世界中的坐标关系(外部系数)[1]。

考虑到摄像机标定在理论和实践应用中的重要价值,学术界近年来进行了广泛的研究。

摄像机标定方法可以分为线性标定和非线性标定,前者简单快速,精度低,不考虑镜头畸变;后者由于引入畸变参数而使精度提高,但计算繁琐,速度慢,对初值选择和噪声敏感。

本文将两者结合起来,采用由粗到精策略,以实现精确标定。

1摄像机模型本文选取摄像机模型中常用的针孔模型[2-3],分别建立三维世界坐标系(O w X w Y w Z w ),摄像机坐标系(O c X c Y c Z c )及图像平面坐标系(O 1xy )如下页图1所示。

其中摄像机坐标系原点O c 为摄像机光心,Z c 轴与光轴重合且与图像平面垂直,O c O 1为摄像机焦距f 。

图像坐标系原点O 1为光轴与图像平面的交点,x ,y 轴分别平行于摄像机坐标系X c 、Y c 轴。

设世界坐标系中物点P 的三维坐标为(X w ,Y w ,Z w),它在理想的针孔成像模型下图像坐标为P (X u ,Y u ),但由于透镜畸变引起偏离[4-5],其实际图像坐标为P (X d ,Y d)。

图像收稿日期:2013-09-20修回日期:2013-11-10作者简介:雷铭哲(1977-),男,湖北咸宁人,硕士。

研究方向:故障诊断系统。

49··图1摄像机模型各坐标系示意图坐标系是存储在计算机中的数字图像的坐标系,可用两种方法表示,一种以像素为单位,坐标系原点O 位于图像左上角;另一种以物理单位(如mm)表示,其原点位于O 1,x 、y 轴分别与u 、v 轴平行。

根据上述模型,将空间任意一点P 变换到图像平面像素坐标系的过程可由以下步骤实现:1)世界坐标系到摄像机坐标系的变换:(1)其中,R 为旋转矩阵,T 为平移向量。

2)针孔模型下理想透视投影变换:(2)3)考虑透镜的畸变,从理想成像平面到实际成像平面的坐标转换为:(3)式中,k 1、k 2为径向畸变系数,p 1、p 2为切向畸变系数,ρ2=X d2+Y d2。

4)实际图像坐标系到计算机图像坐标系的变换:(4)其中,(u 0,v 0)为计算机图像主点(摄像机光轴与图像平面交点)的坐标,s x 、s y 为图像平面单位距离的像素数(pix-els/mm)。

根据各坐标系之间的对应关系,综合可得点P 由世界坐标系到图像像素坐标系的转换关系,写成齐次方程形式为(5)其中,f x =f/dx ,f y =f/dy ,γ为两坐标轴间的倾斜因子[6],M 1完全由αx 、αy 、u 0、v 0决定,因其只与摄像机内部结构有关,故称为摄像机内部参数,M 2完全由摄像机相对于世界坐标系的方位决定,称为摄像机外部参数[7],0=(000)T。

2摄像机模型参数的求解设定标板放在世界坐标系Z w =0的平面内,则根据式(5)可得Z c m =HM(6)其中,m =[u v 1]T ,M =[X c Y c 1]T,H=[h 1h 2h 3]=λM [R x R y T ],称为透视投影矩阵,λ为比例系数。

从而得到:(7)由旋转矩阵的正交性,每幅图像有两个对内参数矩阵的约束条件:(8)利用空间中某一点和其相应成像点的对应关系,可求解得投影矩阵H 。

根据文献[8],为求得H 的唯一解并提高解的精度,通常所采用的点数远大于3。

求得H 之后,利用上述约束条件及内外参数矩阵之间的特定关系,即可求出摄像机内部参数矩阵M 1,继而根据M 1确定相对于每幅图像的各个外参数。

考虑到畸变模型的非线性特点,可将线性解作为初始值,利用LM最小二乘法使形如式(9)的目标函数达到最小值来优化标定结果[9]。

(9)其中,m 赞=(u 赞,v 赞)为标定板上第j 个点在第i 幅图像上的经过径向畸变校正的投影点,A ,R i ,T i 初始值可以设为式(5)计算得到的内外参数矩阵。

3标定实验及结果本文实验用摄像机镜头和传感器物理参数为:镜头焦距f =35mm,CCD传感器晶片尺寸为8.8mm×6.6mm,图像分辨率为1360×1024。

制作一张11×7的棋盘格平面作为标定模板,其中每个正方格的边长均为100mm。

实验中将模板平面放在摄像头的视野中,在自然光条件下拍摄,不断调整平面模板的角度和位置,共采集12幅图像。

摄像头采集到的标定图片如图2所示。

图2摄像机采集的标定图片图像采集完成后,用于标定的图片以BMP格式存储在讨算机中。

计算机执行标定程序,读入图像数据,分别对摄像头采集到的图像检测角点坐标,然后利用前文所述方法求解投影矩阵、内部参数矩阵和外部参数矩阵。

标定流程如下页图3所示。

12张棋盘格模板相对于摄像机的三维位置如下页图4火力与指挥控制2014年增刊50··!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!(上接第48页)图11组件开发支撑平台工具开发了一套原型系统,验证了本文相关研究。

某机载雷达对抗仿真推演系统开发实践证明,本文设计的体系结构具有适用性与灵活性,能够满足电子对抗仿真推演需求。

基于组件技术的开发技术能够实现系统模块化开发与组装式开发,能够提高系统开发效率。

参考文献:[1]BassL,ClementsP,KazmanR.SoftwareArchitectureinPractice[M].AddisonWesley,2003.[2]RadeskiA,ParrS,Keith-MageeR,etal.Component-BasedDevelopmentExtensionstoHLA[C]//Proceedingsofthe2002SpringSimulationInteroperabilityWorkshop(SISOSpring2002).PaperID02S-SIW-046,March2002.[3]马亚平,李柯,王振宇.联合作战模拟系统体系结构设计需求分析[J].计算机仿真,2004,12(12):1-3.[4]蒋旭,鲁智勇,聂孝亮.某机载雷达对抗仿真训练系统分析与设计[J].计算机工程与科学,2011,33(3):113-119.所示,其中(O c X c Y c Z c )为摄像机坐标系。

对图像进行重投影定标,求得平均误差为0.34662像素,达到亚像素级精度,能够满足实际应用的需求。

图4外部参数3D示意图为了验证本文算法进行摄像机参数标定结果的正确性,实验时再用Bouguet开发的Matlab标定工具箱对上述棋盘格图像进行摄像机参数标定,结果如表1所示。

从表中可以看出,本文算法标定结果和Bouguet算法所得结果非常接近,求得镜头焦距f 在35.016mm ̄35.142mm之间,与给定的35mm相差很小,表明了本文算法的正确性和有效性。

表1摄像机参数标定结果比较4结束语本文实现了基于OpenCV的摄像机标定,综合线性和非线性方法,采用由粗到精策略,考虑了各种畸变,实验结果表明,标定结果能够满足实际应用的精度需求。

相对Matlab标定方法,本文标定过程无需人工参与,且标定速度快,非常适合实际应用。

相关主题