当前位置:文档之家› Matlab摄像机标定工具箱的使用说明

Matlab摄像机标定工具箱的使用说明

Matlab摄像机标定工具箱的使用说明
Matlab摄像机标定工具箱的使用说明

摄像机标定方法综述

摄像机标定方法综述 摘要:首先根据不同的分类方法对对摄像机标定方法进行分类,并对传统摄像机标定方法、摄像机自标定方法等各种方法进行了优缺点对比,最后就如何提高摄像机标定精度提出几种可行性方法。 关键字:摄像机标定,传统标定法,自标定法,主动视觉 引言 计算机视觉的研究目标是使计算机能通过二维图像认知三维环境,并从中获取需要的信息用于重建和识别物体。摄像机便是3D 空间和2D 图像之间的一种映射,其中两空间之间的相互关系是由摄像机的几何模型决定的,即通常所称的摄像机参数,是表征摄像机映射的具体性质的矩阵。求解这些参数的过程被称为摄像机标定[1]。近20 多年,摄像机标定已成为计算机视觉领域的研究热点之一,目前已广泛应用于三维测量、三维物体重建、机器导航、视觉监控、物体识别、工业检测、生物医学等诸多领域。 从定义上看,摄像机标定实质上是确定摄像机内外参数的一个过程,其中内部参数的标定是指确定摄像机固有的、与位置参数无关的内部几何与光学参数,包括图像中心坐标、焦距、比例因子和镜头畸变等;而外部参数的标定是指确定摄像机坐标系相对于某一世界坐标系的三维位置和方向关系,可用3 ×3 的旋转矩阵R 和一个平移向量t 来表示。 摄像机标定起源于早前摄影测量中的镜头校正,对镜头校正的研究在十九世纪就已出现,二战后镜头校正成为研究的热点问题,一是因为二战中使用大量飞机,在作战考察中要进行大量的地图测绘和航空摄影,二是为满足三维测量需要立体测绘仪器开始出现,为了保证测量结果的精度足够高,就必须首先对校正相机镜头。在这期间,一些镜头像差的表达式陆续提出并被普遍认同和采用,建立起了较多的镜头像差模型,D.C.Brown等对此作出了较大贡献,包括推导了近焦距情况下给定位置处径向畸变的表达式及证明了近焦距情况下测得镜头两个位置处的径向畸变情况就可求得任意位置的径向畸变等[2]。这些径向与切向像差表达式正是后来各种摄像机标定非线性模型的基础。随着CCD器件的发展,现有的数码摄像机逐渐代替原有的照相机,同时随着像素等数字化概念的出现,在实际应用中,在参数表达式上采用这样的相对量单位会显得更加方便,摄像机标定一词也就代替了最初的镜头校正。

摄像机标定程序使用方法

摄像机内部参数标定 一、材料准备 1 准备靶标: 根据摄像头的工作距离,设计靶标大小。使靶标在规定距离范围里,尽量全屏显示在摄像头图像内。 注意:靶标设计、打印要清晰。 2图像采集: 将靶标摆放成各种不同姿态,使用左摄像头采集N幅图像。尽量保存到程序的debug->data文件夹内,便于集中处理。 二、角点处理(Process菜单) 1 准备工作: 在程序debug文件夹下,建立data,left,right文件夹,将角探测器模板文件target.txt复制到data文件夹下,便于后续处理。 2 调入图像: File->Open 打开靶标图像 3 选取角点,保存角点: 点击Process->Prepare Extrcor ,点击鼠标左键进行四个角点的选取,要求四个角点在最外侧,且能围成一个正方形区域。每点击一个角点,跳出一个显示角点坐标的提示框。当点击完第四个角点时,跳出显示四个定位点坐标的提示框。 点击Process->Extract Corners ,对该幅图的角点数据进行保存,最好保存到debug->data-> left 文件夹下。命名时,最好命名为cornerdata*.txt,*代表编号。 对其余N-1幅图像进行角点处理,保存在相同文件夹下。这样在left文件夹会出现N个角点txt 文件。 三、计算内部参数(Calibration菜单) 1 准备工作: 在left文件夹中挑出5个靶标姿态差异较大的角点数据txt,将其归为一组。将该组数据复制到data文件夹下,重新顺序编号,此时,文件名必须为cornerdata*,因为计算参数时,只识别该类文件名。 2 参数计算: 点击Calibration->Cameral Calibrating,跳出该组图像算得的摄像机内部参数alpha、beta、gama、u0、v0、k1、k2七个内部参数和两组靶标姿态矩阵,且程序默认保存为文件CameraCalibrateResult.txt。 3 处理其余角点数据文件 在原来N个角点数据文件中重新取出靶标姿态较大的5个数据文档,重复步骤1和2;反复取上M组数据,保存各组数据。 注意:在对下一组图像进行计算时,需要将上一组在data文件夹下的5个数据删除。 四、数据精选 1 将各组内部参数计算结果进行列表统计,要求|gama|<2,且gama为负,删掉不符合条件的数据。 挑出出现次数最高的一组数据。2 摄像机外部参数标定

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

MethodofCCDCameraCalibrationBasedOnOpenCV LEIMing-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,Supplement Jul,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··

基于靶标平面相机参数动态标定Matlab程序

基于靶标平面相机参数动态标定Matlab程序 ★注意:直接运行bd.m文件即可进行动态标定,附录Ⅲ中的其它函数文件均会被bd.m文件调用;坐标数据由实验获取。 bd .m %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % M为靶标角点的世界坐标数据,m1—m5为5组图像像素坐标数据;本函数为主函数,它将数据赋值给函数Dtbd(M,m)实现相机动态标定。 clc; clear; M=load('Model.txt'); %Model.txt中为靶标角点的世界坐标,由实验测得 m1=load('data1.txt'); m2=load('data2.txt'); m3=load('data3.txt'); m4=load('data4.txt'); %data1.txt—data5.txt中为不同视角所对应的角点图像坐 %标,可用附录Ⅱ中的程序测得 m5=load('data5.txt');%Model.txt为靶标的世界坐标 M=[M(:,1:2) ; M(:,3:4) ; M(:,5:6) ; M(:,7:8)]; m1=[m1(:,1:2) ; m1(:,3:4) ; m1(:,5:6) ; m1(:,7:8)]; m2=[m2(:,1:2) ; m2(:,3:4) ; m2(:,5:6) ; m2(:,7:8)]; m3=[m3(:,1:2) ; m3(:,3:4) ; m3(:,5:6) ; m3(:,7:8)]; m4=[m4(:,1:2) ; m4(:,3:4) ; m4(:,5:6) ; m4(:,7:8)]; m5=[m5(:,1:2) ; m5(:,3:4) ; m5(:,5:6) ; m5(:,7:8)]; M=M'; % 将靶标平面上角点的世界坐标写入矩阵M中,M为2维矩阵m(:,:,1)=m1'; m(:,:,2)=m2'; m(:,:,3)=m3'; m(:,:,4)=m4'; m(:,:,5)=m5'; % 将5个视角对应的图像像素坐标写入矩阵m中,m为3维矩阵Dtbd(M,m) % 调用Dtbd .m文件进行动态标定%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Dtbd .m %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Dtbd(M,m)函数实现的功能正是本论文中第4章所讲述的动态标定技术,它引入了径向畸变和切向畸变,具体标定过程可参照本论文。 function Dtbd(M,m) [rows,npts]=size(M); matrixone=ones(1,npts); M=[M;matrixone]; num=size(m,3); for i=1:num

三维重建综述

三维重建综述 三维重建方法大致分为两个部分1、基于结构光的(如杨宇师兄做的)2、基于图片的。这里主要对基于图片的三维重建的发展做一下总结。 基于图片的三维重建方法: 基于图片的三维重建方法又分为双目立体视觉;单目立体视觉。 A双目立体视觉: 这种方法使用两台摄像机从两个(通常是左右平行对齐的,也可以是上下竖直对齐的)视点观测同一物体,获取在物体不同视角下的感知图像,通过三角测量的方法将匹配点的视差信息转换为深度,一般的双目视觉方法都是利用对极几何将问题变换到欧式几何条件下,然后再使用三角测量的方法估计深度信息这种方法可以大致分为图像获取、摄像机标定、特征提取与匹配、摄像机校正、立体匹配和三维建模六个步骤。王涛的毕业论文就是做的这方面的工作。双目立体视觉法的优点是方法成熟,能够稳定地获得较好的重建效果,实际应用情况优于其他基于视觉的三维重建方法,也逐渐出现在一部分商业化产品上;不足的是运算量仍然偏大,而且在基线距离较大的情况下重建效果明显降低。 代表文章:AKIMOIO T Automatic creation of3D facial models1993 CHEN C L Visual binocular vison systems to solid model reconstruction 2007 B基于单目视觉的三维重建方法: 单目视觉方法是指使用一台摄像机进行三维重建的方法所使用的图像可以是单视点的单幅或多幅图像,也可以是多视点的多幅图像前者主要通过图像的二维特征推导出深度信息,这些二维特征包括明暗度、纹理、焦点、轮廓等,因此也被统称为恢复形状法(shape from X) 1、明暗度(shape from shading SFS) 通过分析图像中的明暗度信息,运用反射光照模型,恢复出物体表面法向量信息进行三维重建。SFS方法还要基于三个假设a、反射模型为朗伯特模型,即从各个角度观察,同一点的明暗度都相同的;b、光源为无限远处点光源;c、成像关系为正交投影。 提出:Horn shape from shading:a method for obtaining the shape of a smooth opaque object from one view1970(该篇文章被引用了376次) 发展:Vogel2008年提出了非朗伯特的SFS模型。 优势:可以从单幅图片中恢复出较精确的三维模型。 缺点:重建单纯依赖数学运算,由于对光照条件要求比较苛刻,需要精确知道光源的位置及方向等信息,使得明暗度法很难应用在室外场景等光线情况复杂的三维重建上。 2、光度立体视觉(photometric stereo) 该方法通过多个不共线的光源获得物体的多幅图像,再将不同图像的亮度方程联立,求解出物体表面法向量的方向,最终实现物体形状的恢复。 提出:Woodham对SFS进行改进(1980年):photometric method for determining surface orientation from multiple images(该文章被引用了891次) 发展:Noakes:非线性与噪声减除2003年; Horocitz:梯度场合控制点2004年; Tang:可信度传递与马尔科夫随机场2005年; Basri:光源条件未知情况下的三维重建2007年; Sun:非朗伯特2007年; Hernandez:彩色光线进行重建方法2007年;

摄像机参数标定步骤

1、系统需求 该工具箱可以在 Windows、Linux和Unix系统下的Matlab 5.x, Matlab 6.x and Matlab 7.x 版本下使用,而且不需要任何特定的 Matlab 工具箱(例如:不需要最优化工具箱)。 注意:我最近收到了在 Matlab 2007b 平台下关于 GUI 相关的 bug 报告。当修复工作完成时我会将其上传。请将你在使用过程中遇到的问题通知给我以帮助维护这个工具箱。请在邮件里写清楚 bug 的类型,并复制完整的错误信息。谢谢!! 2、开始 ◆转到下载页面,获取最新版本的完整的摄像机标定 Matlab 工具箱。 ◆将解压出的所有文件(.m 文件)放入一个文件夹中(默认的文件夹名称是 TOOLBOX_calib)。 ◆运行 Matlab,并将 TOOLBOX_calib 文件夹添加到 matlab path 环境中。该步骤可以让你在任何地方调用 matlab 工具箱里的任何函数。在 Windows 系统下,该操作可以方便的通过 path 编辑菜单进行。在 Linux 和 Unix 系统下,你可以使用 path 或者 addpath 命令(使用 help 命令查看相关的帮助说明)。 ◆运行matlab标定主函数 calib_gui(或calib)。 屏幕上将出现如下的模式界面 该选择窗口提示你在工具箱的两种操作模式中选择其一:标准模式和内存节省模式。在标准模式下,所有标定时需要的图像一次性装入内存,之后不再进行磁盘的读取。这大大减小了磁盘访问的开销,加速了图像处理和图形显示函数执行的速度。然而,如果图片过大,或图片过多,将会出现 OUT OF MEMORY 错误。因此,可以使用新的内存节省模式。在内存节省模式下,每次只读取一幅图片,并且不在内存中存储。 如果选择运行标准模式,当遇到 OUT OF MEMORY 错误时,可以该选用内存节省模式。两种模式的操作是完全兼容的(输入与输出),内部进行转换。 因为两种模式的用户界面完全一样,在本文中我们选择了标准界面。点击屏幕上方的标准界面按钮,将出现工具箱的标定主窗口(取代模式选择窗口)如下: 模式选择的步骤可以通过执行 calib_gui(0) (使用标准模式)或执行 calib_gui(1) (使用内存节省模式)跳过(键入 help calib_gui 查看更多信息)。 ◆现在你可以使用工具箱进行标定了。 3、标定实例

摄像机标定程序使用方法

一、材料准备 1 准备靶标: 根据摄像头的工作距离,设计靶标大小。使靶标在规定距离范围里,尽量全屏显示在摄像头图像内。 注意:靶标设计、打印要清晰。 2图像采集: 将靶标摆放成各种不同姿态,使用左摄像头采集N幅图像。尽量保存到程序的debug->data文件夹内,便于集中处理。 二、角点处理(Process菜单) 1 准备工作: 在程序debug文件夹下,建立data,left,right文件夹,将角探测器模板文件target.txt 复制到data文件夹下,便于后续处理。 2 调入图像: File->Open 打开靶标图像 3 选取角点,保存角点: 点击Process->Prepare Extrcor ,点击鼠标左键进行四个角点的选取,要求四个角点在最外侧,且能围成一个正方形区域。每点击一个角点,跳出一个显示角点坐标的提示框。当点击完第四个角点时,跳出显示四个定位点坐标的提示框。 点击Process->Extract Corners ,对该幅图的角点数据进行保存,最好保存到debug->data-> left文件夹下。命名时,最好命名为cornerdata*.txt,*代表编号。 对其余N-1幅图像进行角点处理,保存在相同文件夹下。这样在left文件夹会出现N 个角点txt文件。 三、计算内部参数(Calibration菜单) 1 准备工作: 在left文件夹中挑出5个靶标姿态差异较大的角点数据txt,将其归为一组。将该组数据复制到data文件夹下,重新顺序编号,此时,文件名必须为cornerdata*,因为计算参数时,只识别该类文件名。 2 参数计算: 点击Calibration->Cameral Calibrating,跳出该组图像算得的摄像机内部参数alpha、beta、gama、u0、v0、k1、k2七个内部参数和两组靶标姿态矩阵,且程序默认保存为文件CameraCalibrateResult.txt。 3 处理其余角点数据文件 在原来N个角点数据文件中重新取出靶标姿态较大的5个数据文档,重复步骤1和2;反复取上M组数据,保存各组数据。 注意:在对下一组图像进行计算时,需要将上一组在data文件夹下的5个数据删除。 四、数据精选 1 将各组内部参数计算结果进行列表统计,要求|gama|<2,且gama为负,删掉不符合条件的数据。 2 挑出出现次数最高的一组数据。

机器视觉中的摄像机定标方法综述

机器视觉中的摄像机定标方法综述 吴文琪,孙增圻 (清华大学计算机系智能技术与系统国家重点实验室,北京100084) 摘要:回顾了机器视觉中的各种摄像机定标方法,对各种方法进行介绍、分析,并提出了定标方法的发展方向的新思路。 关键词:机器视觉;摄像机定标;三维重建;镜头畸变 中国法分类号:TP387文献标识码:A文章编号:1001-3695(2004)02-0004-03 Overvie w of Camera Calibration Methods for Machine Vision WU Wen-qi,SUN Zeng-qi (State Key L aborato ry o f Intellige nt Tec hnology&Syste ms,Dept.o f Co mpute r Science&Technology,Tsinghua Universit y,Bei jing100084,China) Abstract:In this paper,themethods for camera calibration are reviewed,anal yzed and compared.Furthermore,the develop ment of the camera calibration is discussed. Key w ords:Machine Vision;Camera Calibration;3D Reconstruction;Lens Distortion 1引言 在机器视觉的应用中,如基于地图生成的视觉、移动机器人的自定位、视觉伺服等的应用中,从二维图像信息推知三维世界物体的位姿信息是很重要的。目前已经出现了一些自定标和免定标的方法,这些方法在比较灵活的同时,尚不成熟[1],难以获得可靠的结果。通过摄像机的定标重建目标物三维世界目标物体仍然是重要的方法。 摄像机定标在机器视觉中决定: (1)内部参数给出摄像机的光学和几何学特性% %%焦距,比例因子和镜头畸变。 (2)外部参数给出摄像机坐标相对于世界坐标系的位置和方向,如旋转和平移。 在机器人的视觉应用中,目标物位姿信息获取通常有一定的精度要求,机器人视觉系统的性能很大程度上依赖于定标精度。 随着计算机性能的快速提高,低价位CCD摄像机的大量使用,计算机定标方法也得到了不断的改进。 2摄像机模型 摄像机的投影几何模型可以看作这样一个过程,把三维世界透视投影到一个球面(视球),然后把球面上影像投射到一个平面P,理想情况下,平面P关于光轴中心对称。从图像中心点出发到投射平面点的距离r(A)与光轴夹角A的关系有五种模型,每种都有其自己有用的特性[2]。 其成像简图如图1所示。 图1成像简图 2.1透视模型 透视模型公式为 r(A)=k tan A 理想状况下可以等价为小孔成像。许多最近的算法和判断不同算法的优劣的依据都是基于这个假设。但是,透视投影只是表示了视球的前半部。要是不在光轴的附近,物体的形状和密度都会发生畸变。这种模型符合人的视觉感受,理想情况下,直线投影仍为直线。透视模型在定标方法中被广泛采用,在视角不大的镜头情况下比较符合实际情况。 在视角比较大时,透视模型通过对镜头畸变进行校正来修正模型。根据镜头光学成像原理,畸变的模型为D x (x,y)=k1x(x2+y2)+(p1(3x2+y2)+2p2xy)+s1(x2+y2) D y (x,y)=k2x(x2+y2)+(p2(3x2+y2)+2p1xy)+s2(x2+y2) 式中,D x,D y是非线性畸变值,D x,D y的第一项称为径向畸 # 4 #计算机应用研究2004年 收稿日期:2002-11-18;修返日期:2003-03-22

实验三 MATLAB图像处理基本操作及摄像机标定(DLT)

实验三 MATLAB图像处理基本操作及摄像机标定(DLT) 实验三 Matlab图像处理基本操作及摄像机标定(DLT) (DLT)1、实验目的 通过应用Matlab的图像处理基本函数,学习图像处理中的一些基础操作和处理。 理解摄像机标定(DLT)方法的原理,并利用程序实现摄像机内参数和外参数的估计。。 2、实验内容: 1) 读取一幅图像并显示。 2) 检查内存(数组)中的图像。 3) 实现图像直方图均衡化。 4) 读取图像中像素点的坐标值。 5) 保存图像。 6) 检查新生成文件的信息。 7) 使用阈值操作将图像转换为二值图像。 8) 根据RGB图像创建一幅灰度图像。 9) 调节图像的对比度。 10) 在同一个窗口内显示两幅图像。 11) 掌握matlab命令及函数,获取标定块图像的特征点坐标。 12) 根据摄像机标定(DLT)方法原理,编写Matlab程序,估计摄像机内参数和12) 外参数。 3、实验要求: 1) 选取一幅图像,根据实验内容1)—10)给出结果。

2) 根据给定的标定块图像及实验内容11),12)进行编程实验。 3) 书写实验报告 4、实验设备 1) 微机。 2) Matlab软件。 5、实验原理 DLT变换: Abdal-Aziz和Karara于70年代初提出了直接线性变换像机定标的方法,他们从摄影测量学的角度深入的研究了像机图像和环境物体之间的关系,建立了像机成像几何的线性模型,这种线性模型参数的估计完全可以由线性方程的求解来实现。 直接线性变换是将像点和物点的成像几何关系在齐次坐标下写成透视投影矩阵的形式: X,,wu,,,, Y,,w,,,svP 3,4,,,,Zw ,,1,,,,1,, 为图像坐标系下的点的齐次坐标,为世界坐标系下的空其中,,,, u,v,1X,Y,Zwww 间点的欧氏坐标, P为3*4的透视投影矩阵,为未知尺度因子。 消去S,可以得到方程组: pX,pY,pZ,p,puX,puY,puZ,pu,011w12w13w1431w32w33w34 pX,pY,pZ,p,puX,puY,puZ,pu,021w22w23w1431w32w33w34 当已知N个空间点和对应的图像上的点时,可以得到一个含有2*N个方程的方程组: AL,0 其中A为(2N*12)的矩阵, L为透视投影矩阵元素组成的向量: T ,,p,p,p,p,p,p,p,p,p,p,p,p111213142122232431323334 ||AL||像机定标的任务就是寻找合适的L,使得为最小,即 min || AL || L

基于MATLAB对相机标定的研究

基于MATLAB对相机标定的研究 相机标定是对相机成像的逆过程求解,是建立二维图像坐标和三维世界坐标之间的对应关系,是机器视觉的重要组成部分。文章对针孔相机成像原理进行分析,考虑相机成像过程的径向畸变和偏心畸变。利用棋盘格标定原理,基于MATLAB对相机进行标定。 标签:相机标定;MATLAB;二值化 随着科技的迅猛发展,机器视觉越来越多的被运用到工业生产。相机的标定是机器视觉的重要组成部分,是对由三维世界坐标到二维图像坐标的映射求解。并廣泛运用于逆向工程、空间测距、图像识别、3D电影、游戏等工程。 相机的标定方法分为两大类,分别为传统标定方法和自标定方法。传统标定方法利用标定块的角点坐标和对应的图像坐标,计算出相机的内外参数,这种标定方法可以标定任意相机模型,标定过程复杂但是结果精确。包括利用最优化算法的标定、考虑畸变补偿的两步法、张正友标定法。自标定法是利用Krupp方程为相机建立绝对二次曲线曲面方程进行求解。这种方法灵活性强,但是鲁棒性和标定结果相对较差。 1 相机的标定原理 对相机进行标定首先需要建立相机的成像模型,首先利用针孔模型对相机的成像原理进行分析,然后考虑实际相机的畸变模型,利用张正友标定方法求解。 1.1 线性模型分析 相机标定的针孔模型是利用小孔成像的原理来描述相机的成像模型。针孔相机模型如下图1。 要描述针孔相机模型,需要介绍四种坐标以及这四种的坐标的相互关系。如图1所示,世界坐标系(OW-XWYWZW)表示世界的绝对坐标,能描述相机及其物理的空间位置。相机坐标(OC-XCYCZC)以相机的光心为坐标的原点,光轴为ZC轴,而XC、YC轴分别平行于图像坐标系的X,Y轴。图像坐标(o-xy)是以光轴与图像平面的交点为原点,描述的成像的平面坐标。图像像素坐标(o-uv)是图像的存储坐标,以图像左上端点为原点,以像素为单位描述图像其u、v轴分别平行于图像坐标的x、y轴。 其中fx=f/dx,dx表示像素在x轴方向的物理尺寸,f为相机的焦距。A是相机的内部参数矩阵,表示针孔模型下相机坐标到像素坐标的转换关系。点(u0,v0)为图像的主点。R是旋转矩阵,t是平移量,M为外部参数矩阵,表示由世界坐标系经过旋转和平移到相机坐标系的转换。

基于OpenCV的摄像机标定的应用研究

38562009,30(16)计算机工程与设计Computer Engineering and Design 0引言 机器视觉的基本任务之一是从摄像机获取的图像信息出发计算三维空间中物体的几何信息,并由此重建和识别物体,而空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系是由摄像机成像的几何模型决定的,这些几何模型参数就是摄像机参数。在大多数条件下,这些参数必须通过实验与计算才能得到,这个过程称为摄像机标定(或定标)。标定过程就是确定摄像机的几何和光学参数,摄像机相对于世界坐标系的方位。标定精度的大小,直接影响着机器视觉的精度。迄今为止,对于摄像机标定问题已提出了很多方法,摄像机标定的理论问题已得到较好的解决[1-5]。对摄像机标定的研究来说,当前的研究工作应该集中在如何针对具体的实际应用问题,采用特定的简便、实用、快速、准确的标定方法。 OpenCV是Intel公司资助的开源计算机视觉(open source computer vision)库,由一系列C函数和少量C++类构成,可实现图像处理和计算机视觉方面的很多通用算法。OpenCV有以下特点: (1)开放C源码; (2)基于Intel处理器指令集开发的优化代码; (3)统一的结构和功能定义; (4)强大的图像和矩阵运算能力; (5)方便灵活的用户接口; (6)同时支持Windows和Linux平台。 作为一个基本的计算机视觉、图像处理和模式识别的开源项目,OpenCV可以直接应用于很多领域,是二次开发的理想工具。目前,OpenCV的最新版本是2006年发布的OpenCV 1.0版,它加入了对GCC4.X和Visual https://www.doczj.com/doc/d113045985.html,2005的支持。 1摄像机标定原理 1.1世界、摄像机与图像坐标系 摄像机标定中有3个不同层次的坐标系统:世界坐标系、摄像机坐标系和图像坐标系(图像像素坐标系和图像物理坐标系)。 如图1所示,在图像上定义直角坐标系 开发与应用

Matlab摄像机标定工具箱的使用说明

摄像机标定工具箱 1.1 Matlab 摄像机标定工具箱 工具箱下载:https://www.doczj.com/doc/d113045985.html,/bouguetj/calib_doc/download/index.html 说明文档:https://www.doczj.com/doc/d113045985.html,/bouguetj/calib_doc/ 安装:将下载的工具箱文件toolbox_calib.zip 解压缩,将目录toolbox_calib 拷贝到Matlab 的目录下。 采集图像:采集的图像统一命名后,拷贝到toolbox_calib 目录中。命名规则为基本名和编号,基本名在前,后面直接跟着数字编号。编号最多为3位十进制数字。 1.1.1 标定模型 内参数标定采用的模型如式(1-1)所示,Brown 畸变模型式(1-2)所示。 ???? ??????=????????????????????=??????????11//100011100c c in c c c c y s x y x M z y z x v k u k k v u (1-1) 式中:(u , v )是特征点的图像坐标,(x c , y c , z c )是特征点在摄像机坐标系的坐标,k x 、k y 是焦距归一化成像平面上的成像点坐标到图像坐标的放大系数,k s 是对应于图像坐标u 、v 的摄像机的x 、y 轴之间不垂直带来的耦合放大系数,(u 0, v 0)是光轴中心点的图像坐标即主点坐标,(x c 1, y c 1)是焦距归一化成像平面上的成像点坐标。k s =αc k x ,αc 是摄像机的实际y 轴与理想y 轴之间的夹角,单位为弧度。 ?????++++++=++++++=1 142123654221112124113654221112)2()1()2(2)1(c c c c c c c c c d c c c c c c c c c c d c y x k y r k r k r k r k y y x r k y x k r k r k r k x x (1-2) 式中:(x c 1d , y c 1d )是焦距归一化成像平面上的成像点畸变后的坐标,k c 1是2阶径向畸变系数,k c 2是4阶径向畸变系数,k c 5是6阶径向畸变系数,k c 3、k c 4是切向畸变系数,r 为成像点到摄像机坐标系原点的距离,r 2= x c 12 + y c 12。 1.1.2 操作界面 将Matlab 的当前目录设定为含有标定工具箱的目录,即toolbox_calib 目录。在Matlab 命令窗口运行calib_gui 指令,弹出图1所示选择窗口。 图1 内存使用方式窗口 图1窗口中,具有两个选项,分别是“Standard ”和“Memory efficient ”。如果点击选择“Standard ”,则将目录中的所有图像读入内存中,所需内存较大。如果点击选择“Memory efficient ”,则将目录中的图像按照需要每次一幅图像读入内存中,所需内存较小。在选择了

张氏标定法原理及其改进1

张正友算法原理及其改进 由于世界坐标系的位置可以任意选取,我们可以假定世界坐标系和摄像机坐标系重合,故定义模板平面落在世界坐标系的0W Z =平面上。用i r 表示R 的每一列向量,那么对平面上的每一点,有: [][]12312 0111W W W W X u X Y s v A r r r t A r r t Y ?? ?? ?? ?? ??????==?????????????? ?? ?? 这样,在模板平面上的点和它的像点之间建立了一个单应性映射H ,又称单应性矩阵或投影矩阵。如果已知模板点的空间坐标和图像坐标,那么就已知m 和M ,可以求解单应性矩阵H 。)1,,(w w Y X )1,,(v u 因为11W W u X s v H Y ????????=????????????,其中11 121321222331 32 1h h h H h h h h h ?? ??=?????? ,可推出: 111213 21222331321 W W W W W W su h X h Y h sv h X h Y h s h X h Y =++?? =++??=++? 故, 1112133132212223313211W W W W W W W W h X h Y h u h X h Y h X h Y h v h X h Y ++?=?++? ? ++?=?++? 将分母乘到等式左边,即有 3132111213 31 32212223W W W W W W W W uX h uY h u h X h Y h vX h vY h v h X h Y h ++=++??++=++? 又令[]T h h h h h h h h h 3231232221131211 =',则 1 00000 01W W W W W W W W X Y uX uY u h X Y vX vY v --???? '=????--??? ? 多个对应点的方程叠加起来可以看成Sh d '=。利用最小二乘法求解该方程,即1()T T h S S S d -'=,进而得到H 。 摄像机内部参数求解 在求取单应性矩阵后,我们进一步要求得摄像机的内参数。首先令i h 表示H 的每一列向量,需要注意到上述方法求得的H 和真正的单应性矩阵之间可能相差一个比例因子,则H 可写成: [][]1 2 312h h h A r r t λ=

摄像机标定方法综述

摄像机标定方法综述 李 鹏 王军宁 (西安电子科技大学,陕西西安710071) 摘 要:首先介绍了摄像机标定的基本原理以及对摄像机标定方法的分类。通过对最优化标定法、双平面标定法、两步法等传统摄像机方法的具体分析,给出了各种方法的优劣对比;同时对多种自标定方法的研究现状、发展情况以及存在问题进行了探讨。最后给出了发展传统摄像机标定方向、提高摄像机自标定精度的一些参考建议。 关键词:摄像机标定;传统标定;自标定;优化算法;成像模型 中图分类号:T N948.41 文献标识码:A 0 引言 在图像测量过程以及机器视觉应用中,为确定空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系,必须建立摄像机成像的几何模型,这些几何模型参数就是摄像机参数。在大多数条件下这些参数必须通过实验与计算才能得到,这个求解参数的过程就称之为摄像机标定[1]。无论是在图像测量或者机器视觉应用中,摄像机参数的标定都是非常关键的环节,其标定结果的精度及算法的稳定性直接影响摄像机工作产生结果的准确性。因此,做好摄像机标定是做好后续工作的前提,提高标定精度是科研工作的重点所在。 1 标定分类 摄像机标定的目的是利用给定物体的参考点坐标(x, y,z)和它的图像坐标(u,v)来确定摄像机内部的几何和光学特性(内部参数)以及摄像机在三维世界中的坐标关系(外部参数)。内部参数包括镜头焦距f,镜头畸变系数(k、s、p),坐标扭曲因子s,图像坐标原点(u0,v0)等参数。外部参数包括摄像机坐标系相对于世界坐标系得旋转矩阵R和平移向量T等参数。 传统摄像机标定的基本方法是,在一定的摄像机模型下,基于特定的实验条件如形状、尺寸已知的参照物,经过对其进行图像处理,利用一系列数学变换和计算方法,求取摄像机模型内部参数和外部参数。另外,由于许多情况下存在经常性调整摄像机的需求,而且设置已知的参照物也不现实,这时就需要一种不依赖参照物的所谓摄像机自标定方法。这种摄像机自标定法是利用了摄像机本身参数之间的约束关系来标定的,与场景和摄像机的运动无关,所以相比较下更为灵活。 总的来说,摄像机标定可以分为两个大类:传统的摄像机标定方法和摄像机自标定法。2 传统的摄像机标定方法 传统的摄像机标定方法按照其算法思路可以分成若干类,包括了利用最优化算法的标定方法,利用摄像机变换矩阵的标定方法,进一步考虑畸变补偿的两步法,双平面方法,改进的张正友标定法以及其他的一些方法等。 2.1 利用最优化算法的标定方法 这一类摄像机标定方法的优点是可以假设摄像机的光学成像模型非常复杂。然而由此带来的问题是:1)摄像机标定的结果取决于摄像机的初始给定值,如果初始值给得不恰当,很难通过优化程序得到正确的结果;2)优化程序非常费时,无法实时地得到结果。 根据参数模型的选取不同,这一类的方法主要以下两种: 1)摄影测量学中的传统方法:Faig在文[2]中提出的方法是这一类技术的典型代表。分析F aig给出的方法,可以看到在他的标定方法中,利用了针孔摄像机模型的共面约束条件,假设摄像机的光学成像模型非常复杂,考虑了摄像机成像过程中的各种因素,精心设计了摄像机成像模型,对于每一幅图像,利用了至少17个参数来描述其与三维物体空间的约束关系,计算量非常大。 2)直接线形变换法:直接线性变换方法是A bde-l A ziz 和Karara首先于1971年提出的[3]。通过求解线性方程的手段就可以求得摄像机模型的参数,这是直接线性变换方法有吸引力之处。然而这种方法完全没有考虑摄像机过程中的非线性畸变问题,为了提高精度,直接线性变换方法进而改进扩充到能包括这些非线性因素,并使用非线性的手段求解。 2.2 利用透视变换矩阵的摄像机标定方法[4] 从摄影测量学中的传统方法可以看出,刻划三维空间坐标系与二维图像坐标系关系的方程一般说来是摄像机内部参数和外部参数的非线性方程。如果忽略摄像机镜头的非 山西电子技术 2007年第4期 综 述 收稿日期:2006-12-18 第一作者 李鹏 男 28岁 硕士研究生

单目视觉定位方法研究综述

万方数据

万方数据

万方数据

万方数据

单目视觉定位方法研究综述 作者:李荣明, 芦利斌, 金国栋 作者单位:第二炮兵工程学院602教研室,西安,710025 刊名: 现代计算机:下半月版 英文刊名:Modem Computer 年,卷(期):2011(11) 参考文献(29条) 1.R.Horaud;B.Conio;O.Leboullcux An Analytic Solution for the Perspective 4-Point Problem 1989(01) 2.任沁源基于视觉信息的微小型无人直升机地标识别与位姿估计研究 2008 3.徐筱龙;徐国华;陈俊水下机器人的单目视觉定位系统[期刊论文]-传感器与微系统 2010(07) 4.邹伟;喻俊志;徐德基于ARM处理器的单目视觉测距定位系统[期刊论文]-控制工程 2010(04) 5.胡占义;雷成;吴福朝关于P4P问题的一点讨论[期刊论文]-自动化学报 2001(06) 6.Abdel-Aziz Y;Karara H Direct Linear Transformation from Comparator to Object Space Coordinates in Close-Range Ph- togrammetry 1971 7.Fishier M A;Bolles R C Random Sample Consensus:A Paradigm for Model Fitting with Applications to Image Analy-s~s anu Automated tartograpny 1981(06) 8.祝世平;强锡富用于摄像机定位的单目视觉方法研究[期刊论文]-光学学报 2001(03) 9.沈慧杰基于单目视觉的摄像机定位方法的研究 2009 10.任沁源;李平;韩波基于视觉信息的微型无人直升机位姿估计[期刊论文]-浙江大学学报(工学版) 2009(01) 11.刘立基于多尺度特征的图像匹配与目标定位研究[学位论文] 2008 12.张治国基于单目视觉的定位系统研究[学位论文] 2009 13.张广军;周富强基于双圆特征的无人机着陆位置姿态视觉测量方法[期刊论文]-航空学报 2005(03) 14.Zen Chen;JenBin Huang A Vision-Based Method for theCircle Pose Determination with a Direct Geometric Interpre- tation[外文期刊] 1999(06) 15.Safaee-Rad;I.Tchoukanov;K.C.Smith Three-Dimension of Circular Features for Machine Vision 1992 16.S.D.Ma;S.H.Si;Z.Y.Chen Quadric Curve Based Stereo 1992 17.D.A.Forsyth;J.L.Munday;A.Zisserman Projective In- variant Representation Using Implicit Algebraic Curves 1991(02) 18.吴朝福;胡占义PNP问题的线性求解算法[期刊论文]-软件学报 2003(03) 19.降丽娟;胡玉兰;魏英姿一种基于平面四边形的视觉定位算法[期刊论文]-沈阳理工大学学报 2009(02) 20.Sun Fengmei;Wang Weining Pose Determination from a Single Image of a Single Parallelogram[期刊论文]-Acta Automatica Sinica 2006(05) 21.吴福朝;王光辉;胡占义由矩形确定摄像机内参数与位置的线性方法[期刊论文]-软件学报 2003(03) 22.王晓剑;潘顺良;邱力为基于双平行线特征的位姿估计解析算法[期刊论文]-仪器仪表学报 2008(03) 23.刘晓杰基于视觉的微小型四旋翼飞行器位姿估计研究与实现 2009 24.刘士清;胡春华;朱纪洪一种基于灭影线的无人直升机位姿估计方法[期刊论文]-计算机工程与应用 2004(9) 25.Mukundan R;Raghu Narayanan R V;Philip N K A Vision Based Attitude and Position Estimation Algorithm for Rendezvous and Docking 1994(02)

相关主题
文本预览
相关文档 最新文档