基于OpenCV的CCD摄像机标定方法_雷铭哲_孙少杰_陈晋良_陶磊_魏坤
一种基于OpenCV的摄像机标定算法的研究与实现
一种基于OpenCV的摄像机标定算法的研究与实现作者:孙昆穆森邱桂苹赵倩来源:《电子世界》2012年第14期【摘要】摄像机标定是计算机视觉中的一个重要问题。
本文介绍了标定的基本原理,详尽阐述了使用二维模板的标定算法,重点分析了如何借助开源软件OpenCV实现该算法。
实验结果显示,使用OpenCV中的相关函数,可以方便地进行数学计算,简单有效地完成摄像机标定。
【关键词】摄像机标定;内部参数;单应性矩阵;OpenCV1.引言计算机视觉的基本任务之一是从摄像机获取的图像信息出发计算三维空间中物体的几何信息,并由此重建和识别物体。
而空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系是由摄像机成像的几何模型决定的,这些几何模型参数就是摄像机参数。
摄像机标定是确定摄像机内外参数的一个过程,其中内参数的标定是指确定摄像机固有的、与位置参数无关的内部几何与光学参数,包括图像中心坐标(也称主点坐标)、图像纵横比、相机的有效焦距和透镜的畸变失真系数等;外参数的标定是确定摄像机坐标系相对某一世界坐标系的三维位置和方向关系。
目前,摄像机标定技术主要有两种实现方法:(1)基于标定物的方法:需要尺寸已知的标定参照物,通过建立标定物上三维坐标已知点与其图像点之间的对应,利用一定的算法获得摄像机的内外参数。
标定物可以是三维的,也可以是二维共面的。
三维标定物条件下,只需一幅图像就可以求出摄像机的全部内外参数。
但三维标定物的加工和维护比较困难。
二维共面标定物加工维护简单,但一幅图像不足以标出所有的摄像机参数,因此需要简化摄像机模型,或者从不同角度获取多幅图像来同时标出所有的参数。
当应用场合要求的精度很高而且摄像机的参数不经常变化时,这种标定法应为首选。
(2)自标定法:不需要标定物,仅依靠多幅图像对应点之间的关系直接进行标定。
利用了摄像机内部参数自身的约束,而与场景和摄像机运动无关。
该方法非常灵活,但不是很成熟,由于未知参数太多,很难得到稳定的结果。
一种基于OpenCV的简易摄像机标定方法
图像像素坐标系, 该坐标系的单位是像素 , 坐标原点 0 在图像的左上角。由于 ( 只表示像素位于数 。 , ) 组中的列数与行数, 并没有用物理单位表示出该像 素在 图像 中的位置, 因此, 需要再建立 以物理单位 ( 毫米 ) 表示 的图像坐标系 , 如图 l 所示 , Y 是图 ( ) , 像物理坐标 , 光心 0 在图像的中心点上 。
图 1 图像坐标系
由图 1 可得, 图像中任意一个像素在两个坐标
系下 的坐标 有 如下 的关 系 :
=
孚+ ‰
() 1
() 2
用齐 次坐标 与矩 阵表示为 :
1 O
u。
图 3 摄 像 机模 型
图 3 0为摄像机光心 , 中, 0 为图像坐标原点 ,
() 3
①读取 实验所 需 的图像 。
②使用 cF d hs orCr r 函数提取棋盘 vi C e ba o e n s d ns
模 板上 的角点 。
1y ,) k, +, + p( )) 2l ] 6( Y :z( ,) [23 , +p y x ) +2 x
() 7
③使用 cFnC r r b i vi o e uP d n S x函数对上步 中所提 取 出来的角点进行进一步的细化, 以得到更精确 的 角 点位 置 。 ④亚像素精确化后, 再使用 cDa C e ba — v r hs or w s d
界坐 标 系。
收 稿 E期 :2 1 0 t 0 1— 7—0 4
取三维空间信息的前提和基础。标定结果的好坏直
接影 响 着 三 维 测 量 的 精 度 和 三 维 重 建 结 果 的 好 坏H , 因此研究 摄像 机 标定 方 法 具有 重 要 的理 论 意 义 和实 际应用 价值 。
基于OpenCV的摄像机标定方法的实现
空间物 体表 面某 点 的三 维几何位 置 与其在 图
标定 法而 言 , 摄像 机标 定法 标定 结果稳 定 , 传统 精 度 较高 . 摄 像机 方 位 、 在 焦距 固定 不 变 的情况 下 , 往往 采用传 统摄像 机标 定法 . 开放 源代码 的计 算 机 视觉 类 库 ( pnSuc O e ore
M e h d o m e a Ca i r to s d o t o n Ca r lb a i n Ba e n Ope CV n
W ANG is e Ba— h ng,GAO u— a Yo nin,S HEN e —h n W nz o g
(colfEetc o e a dA t ai n i e n , h n hi n e i Sho o l r P w r n uo tnE gn r g S ag a i rt o ci m o ei U v sy f
第2 6卷 第 4期
上 海 电 力 学 院 学
报
Vo . 6, No 4 12 . Au . 2 1 g 0 0
21 0 0年 8月
J u n l o S a g a Un v r i o E e ti Po r o r a f hn hi i e st y f l crc we
位于俄 罗斯 的研究 实 验室 开 发 , 一 套 可免 费获 是 得 的 由一些 C函数和 c+ 类 所组 成 的库 , 来实 + 用 现 一些 常用 的图 像处 理 及 计 算 机 视 觉算 法 , 实 可
基于OpenCV的改进两步法摄像机标定
5f2i - 1
5ξj 5f2 i
= 1 pi T 0T - ui pi T m zi 0T pi T - vi pi T
5ξj
其中 m 是投影矩阵中的 12维实数向量 , m 是 ξ的 Jacobian矩
阵 ,式中的具体参数的值是由样本点决定 , m 取决于摄像机的
内外参数 ,需旋转矩阵 R 的显式表达 。
1. 2 二步法标定及其改进
两步法 [2, 6 ]是 Tsai提出 ,在其标定过程中 ,需要求取外参和 内参 ( f, k, sx , , Rx , Ry , Rz , Tx , Ty , Tz ) 共 9 个 。对该标定法的改 进 ,是在已经求得的摄像机参数值基础上 ,用非线性优化算法对 所有参数进一步优化 ,得到最终参数值 。
李健等 :基于 0penCV 的改进两步法摄像机标定
105
其中 : Rd 2 为径向半径的平方 , k为径向畸变系数 。 (4) 计算机图像 (帧存 )坐标到实际图像平面坐标的变换 : xd = sx ×( u - uo ) / s yd = sy ×( v - vo )
其中 : sx , sy 分别为相机敏光阵列元素的列间距和行间距 , S 是 水平比例因子 ,它是 N fx 与 N cx 比值 。
其中 ,旋转矩阵 R 为 3 ×3 的正交矩阵 , 平移矩阵 T 为三维列
向量 。
(2) 根据图中的三角形相似原理 ,可得到在针孔模型下的
理想透视投影变换 :
xu = f ×xC / zC yu = f ×yC / zC (3) 用于描述图像坐标系中实际图像坐标 ( xd , yd )与理想 图像坐标 ( xu , yu ) , 之间的变换 。考虑到一阶径向畸变 , 表达 式为 :
基于OpenCV摄像机标定研究
基于OpenCV的摄像机标定研究摘要:根据摄像机标定原理,实现了vc 2010环境下基于opencv 的摄像机标定系统。
该系统以棋盘格标定板图像作为输入,计算出了摄像机的各内外参数及畸变系数。
通过图像矫正实验证明了系统的有效性。
关键词:摄像机标定;棋盘格;opencv;图像矫正中图分类号:tp391.41 文献标识码:a文章编号:1007-9599 (2013) 05-0000-021引言视觉测量、三维重建等是计算机视觉应用中较为重要的研究领域。
在这些研究中,都需要确定视觉图像中的点与现实世界中对应点的几何位置关系。
我们常用的图像,由摄像机拍摄得到,因此,确定这种关系,就要依靠成像系统即摄像机的几何模型。
几何模型的参数就是摄像机的参数。
但这些参数不能够直接获取,而是要利用摄像机拍摄的图像,通过实验来获取。
获取这些参数的过程我们称之为摄像机标定。
摄像机标定是计算机视觉应用中的关键技术。
摄像机标定精度直接影响视觉测量精度,也是做好立体图像匹配与三维重建工作的基础[1]。
摄像机标定方法有3类:基于标定物的方法,自标定方法和基于主动视觉的标定方法[2,3]。
其中,使用平面标定物的标定方法[4],因其标定物制作简单、标定方法灵活而广泛使用。
本文详细介绍了摄像机标定原理,及在vc++ 2010环境下,利用opencv 2.4.4实现摄像机标定的方法和步骤,并通过实验验证了其有效性。
2标定原理摄像机标定首先需要利用合适的数学工具来描述和表达空间中的点与图像中对应点之间的关系。
这个工具就是几何模型,它涉及到摄像机的光学参数如图像中心、镜头焦距和镜头畸变等,还涉及到摄像机坐标系与世界坐标系的相对位置和方位等。
常用的针孔模型是一种理想的成像模型,没有考虑摄像机透镜的厚度及畸变对成像的影响,不能很好地反映实际情况。
opencv中的标定算法,其摄像机模型以针孔模型为基础,同时考虑了透镜的径向畸变和切向畸变,引入了径向畸变和切向畸变两个参数。
基于OpenCV改进的摄像机标定法
K e y Wo r d s c a me r a mo d e l ,l e n s d i s t o r t i o n,Op e n CV,c a me r a c a l i b r a t i o n Cl a s s Nu mb e r TP3 9 】
W ANG Ch a n g y u a n HOU J i n g
( Xi ’ a n Te c h n o l o g i c a 1 Un i v e r s i t y.Xi ’ a n 7 1 0 0 2 1 )
Ab s t r a c t Fo r t h e f i e l d o f c o mp u t e r v i s i o n c a me r a c a l i b r a t i o n ,t a k i n g i n t o a c c o u n t d i s t o r t i o n o n c a l i b r a t i o n a c c u r a c y,t h e o p e n c o mp u t e r v i s i o n l i b r a r y Op e n C V a n d c a me r a mo d e l a r e i n t r o d u c e d,c a me r a c a l i b r a t i o n a l g o r i t h m b a s e d o n t h e Op e n CV i s g i v e n . Th e a l g o r i t h m ma k e s f u l l u s e o f t h e Op e n C V l i b r a r y f u n c t i o n,wi t h h i g h c a l i b r a t i o n a c c u r a c y a n d c o mp u t a t i o n a l e f f i — c i e n c y ,a n d c a n me e t t h e n e e d s o f s t e r e o v i s i o n s y s t e m.
opencv的相机标定方法
(原创实用版4篇)编制人员:_______________审核人员:_______________审批人员:_______________编制单位:_______________编制时间:____年___月___日序言下面是本店铺为大家精心编写的4篇《opencv的相机标定方法》,供大家借鉴与参考。
下载后,可根据实际需要进行调整和使用,希望能够帮助到大家,谢射!(4篇)《opencv的相机标定方法》篇1相机标定是计算机视觉中一个重要的问题,它的目的是确定相机的内部参数和外部参数。
在 OpenCV 中,可以使用 cv::calibrateCamera() 函数进行相机标定。
该函数需要输入标定板的角点坐标和相机拍摄到的图像,然后可以计算出相机的内部参数(如焦距、主点坐标等)和外部参数(如相机的旋转和平移矩阵)。
具体地,相机标定的过程可以分为以下几个步骤:1. 准备标定板:标定板应该是一个平面板,上面有一些精确的几何形状(如圆形或棋盘格),以便于在图像中进行角点检测。
2. 拍摄标定板:使用相机拍摄标定板,并获取相机的内部参数和外部参数。
3. 角点检测:在获取到的图像中,使用角点检测算法(如 Harris 角点检测)检测出标定板上的角点。
4. 计算变换矩阵:根据标定板上的角点坐标和相机拍摄到的图像,可以计算出相机的旋转和平移矩阵。
5. 相机标定:使用 cv::calibrateCamera() 函数,将计算出的变换矩阵输入到函数中,即可计算出相机的内部参数和外部参数。
需要注意的是,相机标定的结果可能会受到多种因素的影响,如标定板的形状、大小、标定时的光照条件等。
《opencv的相机标定方法》篇2相机标定是计算机视觉中一个重要的问题,它的目的是确定相机内部参数和外部参数,以便于后续图像处理和计算机视觉任务。
在 OpenCV 中,相机标定可以采用多种方法,其中比较常见的包括:1. 张正友标定法(Zhang Z. et al. A flexible camera calibration method for non-coplanar cameras. ICCV 99):该方法适用于非平面相机标定,需要标定板放置在不同的位置和角度,通过解方程组来求解相机内部参数和外部参数。
基于OpenCV的摄像机标定方法实现
基于OpenCV的摄像机标定⽅法实现2019-08-09摘要:为了实现在三维重建系统中的对摄像机进⾏标定的⽬的,采⽤理想摄像机成像模型为基础,在模型中引⼊透镜径向畸变和切向畸变影响的计算⽅法。
在VC++环境下开发了⼀种基于OpenCV算法库的摄像机标定算法,并同基于Matlab摄像机标定⼯具箱的标定结果进⾏了⽐较。
实验结果表明,该⽅法具有标定精度⾼、鲁棒性好等优点,可以满⾜增强现实和其他计算机视觉系统的需要。
关键词:摄像机标定; OpenCV;计算机视觉;透镜畸变中图分类号: TN919?34; TP391.9 ⽂献标识码: A ⽂章编号: 1004?373X(2013)08?0097?040 引⾔摄像机标定的⽬的,就是要建⽴三维世界坐标与⼆维图像坐标之间的⼀种对应关系。
在单⽬视觉中,这种对应关系是⼀对多的对应,即⼆维图像上的⼀个像素点对应着三维空间中的⼀条直线;⽽在双⽬视觉中,可以通过两幅⼆维图像上的对应像素点计算得到三维世界坐标与⼆维图像坐标的⼀⼀对应关系。
由此,便可以得到物体的三维坐标值。
⽬前常⽤的标定⽅法是由Tasi⾸先提出的基于“两步法”的传统摄像机标定⽅法[1]。
随后,张正友提出⽤⼆维平⾯模板来标定摄像机,他的⽅法⾸先利⽤线性和⾮线性⽅法求取摄像机内外参数的初值,然后再解⾮线性最⼩化⽅程,以求得内外参数的精确解[2]。
因此,其⽆论在精度⽅⾯,还是在简便⽅⾯都优于Tsai的⽅法,可以说它是两步法的代表,从⽽使摄像机标定技术⼤⼤前进了⼀步。
OpenCV(Open Source Computer Vision Library)是Intel开放计算机视觉函数库,具备强⼤的图像和矩阵运算能⼒[3]。
尽管有很多求解摄像机参数的⽅法,OpenCV函数库中提供的摄像机标定⽅法就是基于张正友的标定⽅法。
OpenCV中的摄像机标定模块为⽤户提供了良好的接⼝,并且执⾏速度快,具有良好的跨平台移植性,因此可以很好地应⽤于⼯程实际当中。
基于OpenCV算法库的摄像机标定方法
21 01年第 4期
刘国平 , 蔡建平 : 基于O! n o CV算法库的摄像 机标定方法 e
通过 下列坐标系之间 的变换 , 实现 了世界 坐标 系 中任一 点 P与其像 素坐 标系 中投影 点之 间 的映 射关系 。
( ) 界坐标系 中点 1世 摄像机坐标系点
1
式 ( ) 是 两坐标 系之 间的 3 3的正 交 卜1 中, x
旋 转单位矩 阵, 是两坐标 系之 间 的 3 l的平 移 向 t x
量,£ ( , ,z ,=00 O 。 = £ t o (,,) )
() 2 摄像 机坐 标系 中点
, , ,) 图 1 与
1 V r ’r v ,
表示 ;2 摄像机坐标 系, 图 i () 如 所示 , 光心到 图像
平面的距离 为摄像机的有效焦距/ , Z) . ,c o( ,
图 2 像素 坐标 系和 图像坐 标系
I 收稿 日期 l2 1 -0 -2 01 5 0
I 作者简介l刘 国平 (94 16 一) , ,江西临川人 ,工学博士 ,教授 ,博士生导师;蔡建平 (9 1 男 18一),男 ,江
的很多通用算法 。
yc
zc
O eC pn V标 定模 块是基 于 张正友 H 的平 面标 定法来实现 的, 该方法是在传统 标定方法 的基础上 发展起来 的, 并且它对棋 盘模板的绘制精度具有较
高 的要求 , 图 3 如 所示 。摄像机 在不 同位置 ( 至少 两个 ) 上拍摄平面模板 的 图像 , 中平面模板和摄 其
摄像 机标定实 质上就是 为了确定三维 世界坐 标与二维 图像坐标之 间的映射关系 , 只要这种映射 关系确定 了, 就能从二维 图像 中提取三维信息 。因
一种基于OpenCV及CVUT的摄像机标定方法
c l r t n r c s a d ai r t n l o i m. T e eo e t e a ir t n b s d n ai ai p o e s n c l ai a g rt b o b o h h rf r , c l ai a e o Op n V n C T o l b h b o e C a d VU c u d e
Ke r s o e o re cmp trvs n l rr ( e C ;o ue i o ti o l( VUT)c mea mo e ;a r y wo d :p n su c o ue ii i ay Op n V)c mp tr vs n ui t tos C o b i ly ;a r d lcmea
文 章 编 号 :0 19 4 (0 11.0 80 10 —9 42 1)204 —4
一
种 基 于 Op n V及 C U 的摄 像 机 标定 方法 eC V T
张 立静 , 宜利 , 付 冯 美
( 尔 滨 Z 业 大 学 机 电 工程 学院 , 尔 滨 1 0 0 ) 哈 - 哈 0 1 5
a h e e whih u s t e f n to o Op nCV a d c iv d, c p t h u c in f e n CVUT ir re i t fl p a lb ai s no u l ly.Ths n o rt i kid f a i hmei h d r c ia tc a p a tc l
nCV ,h prce s te o s wh c ih so uit tos .T e we n lz d h cmea in ti o l) h n ly a ay e te a r mo e i te iin fn t n irr Ope d l n h vso u ci l ay o b
一种基于OpenCV的摄像机标定方法
一种基于OpenCV 的摄像机标定方法*田克微 张爱武 王少敏(首都师范大学三维空间信息获取与应用教育部重点实验室,北京 100037)摘要针对双目立体视觉系统研制过程中的摄像机标定步骤,分析了计算机视觉函数库OpenCV 中的摄像机模型,其中的非线性畸变考虑到了切向畸变和径向畸变,采用Bouguet 角点提取算法,实现了基于OpenCV 的摄像机标定.该算法具有很高的标定精度和计算效率、良好的跨平台移植性,可以满足双目立体视觉系统的需要.关键词:计算机视觉,摄像机模型,OpenCV,摄像机标定,双目立体视觉.中图分类号:TP391收稿日期:2007 04 10*基金项目:国家自然科学基金(40601081);北京市教委科技发展计划(KM200610028012)立体视觉系统的设计目标是从摄像机获取的图像信息出发,计算三维空间物体的位置、形状等信息,并由此识别环境中的物体.图像上每一点的亮度反映了空间物体表面某点反射光的强度,而该点在图像上的几何位置则与空间物体表面相应点的几何位置有关.这些位置的相互关系,由摄像机成像的几何模型所决定.该几何模型的参数称为摄像机参数,这些参数必须由实验与计算来确定,实验与计算的过程称为摄像机标定.至今已经有许多摄像机标定的方法,如Tsai 提出的基于三维标定参照物的标定方法[1],标定参照物一般由两块互相垂直的平面模板组成,标定前需要知道参照物表面标定点的空间三维坐标,因而这种方法需要一套昂贵的精密标定设备.张正友提出了基于二维平面模板的标定方法[2],张氏标定法只要求从不同角度拍摄的同一标定平面(标定板)2幅以上的图像,就可以求出摄像机的内外参数,由于该方法不需要知道平面模板移动的具体方位和位移信息,而且平面模板的制作简单,因此这种方法更简单、灵活[3].OpenC V(Open Source Computer Vision Library)是Intel 公司开发的开源计算机视觉库,由一系列C 函数和少量C++类构成,实现了图像处理和计算机视觉方面的很多通用算法.其中的计算机视觉函数库包含图像处理、结构分析、运动分析与对象跟踪模式识别照相机定标和三维重建等算法.在最新发布的OpenCV 1 0中实现的摄像机标定方法采用的是张氏标定法[3],并且提供了一个基于的DirectSho w 的过滤器CalibFilter,使用户可以直接在组件的层次上实现个性化的标定应用.1 标定原理1 1 摄像机模型摄像机模型的选择直接影响最后的标定结果.常用的针孔模型[4,8]忽略了透镜的厚度和畸变的存在,因此不能很好的反映实际情况.OpenC V 提供的标定算法中的摄像机模型考虑了摄像机镜头的径向和切向畸变,该模型比只引入一阶径向畸变的Tasi 模型[1]更接近透镜的实际情况,但又没有引入Weng 模型[5]的薄棱镜畸变,从而加大算法的运算量.三维空间点P (X ,Y ,Z ),它的齐次坐标为(X ,Y ,Z ,1),在世界坐标系中投影到图像平面上象素坐标系(u ,v )的过程如下:z cu v l= u 000 v 0001R T1x wy w z w 1(1)=A M X w =P X w其中 =f dx , =f dy , =s f , 、 分别为图像u 轴和v 轴上的尺度因子, 为描述两图像坐标第29卷 第2期2008年4月首都师范大学学报(自然科学版)Journal of Capital Normal University(Natural Science Edition)No.2Apr.2008轴倾斜程度的参数,称为倾斜因子,(u 0,v 0)为摄像机主点.R 为摄像机坐标系相对于世界坐标系的3 3的旋转矩阵,T 为摄像机坐标系相对于世界坐标系的3 1平移矩阵.由于实际成像系统中存在着各种误差因素,如透镜和成像平面与透镜光轴并不垂直等,因此,像点、光心和物点在同一条直线上的假设并不成立.实际中的成像模型并不满足线性关系,而是一种非线性关系,需要引入透镜畸变如下:x =x d +!x (x ,y )y =y d +!y (x ,y )(2)其中,!x 和!y 表示非线性畸变值的X 、Y 轴分量.OpenC V 中的非线性畸变采用下述公式描述:!x (x ,y )=k 1x (x 2+y 2)+(p 1(3x 2+y 2)+2p 2xy )!y (x ,y )=k 2y (x 2+y 2)+(p 2(3x 2+y 2)+2p 2xy )(3)其中,!x 或!y 的第一项k 1、k 2称为径向畸变,第二项p 1、p 2称为切向畸变,确定畸变系数是摄像机标定的重要步骤之一.1 2 标定方法张氏标定法要求一个精确定位点阵的平面模板,如图1所示.然后通过自由移动摄像机或标定模板,使得摄像机至少在2个不同的位置(相对标定模板)拍摄模板图像,通过模板上的点和其图像的单应性(Homograph)来确定摄像机的内参,可以进一步解出摄像机的外参.然后再以这些参数为初始值,在考虑畸变的同时应用Levenberg Marquardt 算法对图像点与再投影点间的距离之和进行非线性最小优化,以得到一组精度更高的值.图1 平面标定模板和成功提取2 标定系统实现由于OpenC V 提供的cvCalibrateCamera2()只适用于n n 的图像,因此设计的标定模板为图1的88棋盘格图像,并打印出来.使用Matrox I ma ging Library 接口编程实现对摄像机的实时控制,并且由于对I O 设备的调用需求远多于对C PU 的占用,因此使用多线程技术控制摄像机的采集,采用多线程后,两路视频数据的采集分别进行,同时我们在内存中开辟了两块缓存来存放视频数据,有效地避免了内存的竞争,同时也保证了两个摄像头采集数据的同步性.同步采集界面如图2所示:图2 同步采集先将评估用的棋盘格图像读入计算机,再采用Jean Yves Bouguet 提出的角点提取算法[6],对每个格点分别利用高精度角点探测器进行精确定位.文中提取到的格点像素坐标可达到亚像素精度.拍摄过程中要求保持一定的光照,这样cvFindChessboard Corners()才能有效的提取到棋盘内侧的角点.成功提取到49个角点如图1所示.3 实 验实验使用两台B ASLER A102kc CCD 相机,焦距为14mm 的镜头和两个METE OR2 CL 32图像采集卡.所采集图像的分辨率为1392 1040像素.标定模板采用Bouguet 方法的模板(如图1所示),模板离摄像机的距离约为500mm 左右.实验分两步进行:第一步是标定摄像机,首先将双摄像机置于两个不同的位置拍摄3对处于不同方位的平面模板的图像(如图3所示),然后根据这3对图像对摄像机进行标定:图3 用于标定摄像机的3对图像第2期田克微等:一种基于OpenCV 的摄像机标定方法第二步是检验标定结果,利用上面标定好的摄像机对第一幅平面模板图像进行重建,根据立体视觉中的三角测量原理重建模板中49个角点的空间位置,重投影回二维平面,平均重投影误差如表1所示,可以看出采用OpenCV 实现的标定和张正友的标定例程具有相当的精度.恢复7 7共49个匹配点所对应的空间的三维坐标,实验结果是一组离散的空间点.图4和图5分别给出在OpenGL 下显示的点云图以及纹理映射,可以看出,根据标定结果重建出的离散点视觉效果良好,基本可以反映原物体的原貌.表1 平均重投影误差重投影误差左摄像机右摄像机重建后X 轴0 206130 323320 33597Y 轴0 225210 3546844193图4重建后的空间离散点图5 纹理映射结果4 结 论OpenC V 采用张氏标定法和Jean Yves B ouguet 角点提取算法,在些基础上开发的摄像机标定程序标定结果精确,而且其中的函数在设计和汇编时被Intel 公司对其所生产的处理器做了优化,因而具有很高的性能,并可以移植到Linux 平台.本文的结果表明OpenC V 开发的标定程序可以有效的应用在双目立体视觉系统的标定中.参考文献[1] Tsai R Y.A versatile camera calibration technique for high accuracy 3D machine vision metrology using off the shelf TV camerasand lenses[J].IEEE Journal of Robotics and Automation,1987,3(4):323-344.[2] Zhngyou Zhang.A flexible new technique for camera calibration[J].Technical Report MSR TR 98 71,Microsoft Research,December 1998.[3] Zhang Z.A flexible new technique for camera calibration[J].IEEE transactions on pattern analysis and machine intelligence,200,22(11):1330-1334.[4] 马颂德,张正友.计算机视觉-计算理论与算法基础[M].北京:科学出版社,2003[5] Weng J Y,Cohen P,Herniou M.Camera Calibration with distorti on models and accuracy evaluation[J].IEEE Trans on PAMI,1992,14(10):965-98[6] Jean Yves Bouguet.Camera calibration toolbox for Matlab[DB OL].2004.http: www.vision.cal Bouguetj calib !doc.[7] Zhengyou Zhang.A flexible new technique for camera calibration[EB OL].2007.http: %7Ezhangcalib #Application.首都师范大学学报(自然科学版)2008年第2期田克微等:一种基于OpenCV的摄像机标定方法A Camera Calibration Method Based on OpenCVTian Ke wei Zhang Ai w u Wang Shaomin(M i nistry of Educati on Key Laboratory of3D Information Acquisi ti on and Application,Capital Normal Universi ty,Beiji ng 100037,China)AbstractConsidering the calibration process steps for binocular stereo vision system,the camera model in OpenC V(open source computer vision library)was discussed,the non linear distortion of the tangential and radial distortion aberration is considered,the Bouguet corner e xtraction algorithm was used,and an arithmetic of camera calibration based on OpenCV was given.The algorithm has a very high standard of accuracy and computational efficiency,a good cross platform portability,is able to meet the needs of binocular stereo vision system.Key words:Computer vision,camera model,OpenC V,camera calibration,double CCD stereo vision(上接第10页)参考文献[1] 武康平.高级玫观经济学[M].北京:清华大学出版社,2001:103-114,103-114,55-56.[2] Markowi tz H M.资产选择!投资的有效分散化[M](1991).刘军霞,一弛译.北京:首都经济贸易大学出版社,2000:267-284.[3] Chi fu Huan g,Li t zenberger R H.金融经济学[M](1998).宋逢明译.北京:清华大学出版社,2003:1-10.[4] Fi shburn P C.Utili ty theory for deci sion making[M].New York:Wiley,1970.[5] Debreu G.Theory of value[M].New York:Wiley,1959:50-73[6] Hildenbrand W,Sonnenschein H.Introduction to Volu me VI,in:Hildenbrand W,Sonnenschein H,Handbook of Maths Eco.,Vol VI[C].Elsevier Science Publshers B.V.,1991:15-19.[7] Barten A P,Volker B hm.Consumer theory[C].Ch9,in:Arrow K,Intriligator M D,Handbook of Maths Eco.,Vol II.Elsevier Science Publshers B.V.,1984.[8] Karni E,Schmeidler D.Utility theory with uncertainty[C].i n:Hildenbrand W,Sonnenschein H,Handbook of Maths Ec.,Vo.VI[C].Elsevier Science Publshers B.V.,1991:1763-1771[9] 毛二万.金融经济学[M].沈阳:辽宁教育出版社,2002:4-12.The Other Proof of Existence Theorem of Expected Utility FunctionLiu Zongqian1 Fu Weiqiang1 Feng Sufen1,2(1. 2.School of Mathematical Science,Capital Normal Uni versity,Beini ng 100037,China;2.Beijing Polytechnic College,Beijing 100042,China)AbstractThis paper introduces the set of selection under risk and the e xpected utility properties through lottery that is based on WuSang ping(2001),and gives the concept of expected utility ing expected utility func tion and preference relation,and expec ted utility axioms which is different to Markowits(1991,2000)or Chi fu Huang and Litzenberger(1998,2003),it proves some natures.Its main result is that obtains the other proof of sufficient and necessary condition,uniqueness of existence theorem of expected utility functions by probability distribution being one to one to distribution function,and using the set of selection under risk being taken a bounded,closed and convex subset in Euclidean space R m,and it has applied the above properties.Key words:risk choice,e xpectation utility,preference.。
基于+OpenCV+的摄像机标定问题研究
为0,表示角点提取失败,抛弃陔图进行下一幅图
的检测。
函数cvFindChessboardCorners()提取到的角
点坐标为(CvPoint2D32f结构)。用函数cvFind—
CornerSubPix()对这磐角点进一步的细化,得到更
为精确的亚像素级的坐标(CvPoint2D32f结构)。 3)结构转换
j厶2f吖/az
(4)
【厶=f/Ay
其中(‰,饥)是基准点(通常在图像的中心),f为 摄像机的有效焦距,s为比例因子,△z为计算机图
像在水平方向(z方向)上相邻两像素之间的有效
距离(mm/pixel),zly为计算机图像在垂直方向(y
方向)上相邻两像素之间的有效距离(mm/pixel)。 5)综合上述公式得到如下等价表示
Abstract Introduced open source computer vision library—OpenCV,used in image processing and computer vision; Discussed the important data structure of OpenCV used in camera calibration;Especially analyzed the method of camera calibration design using function given by OpenCV under the environment of VC which has practical value on the applica— tion design of image processing and computer vision.
—面磊U百磊i斟丽磊订、
基于opencv的双目视觉影像测量标定方法优化设计
‘
i . .
要代 码 功 能 流程 为 : 光标 图像采集一 创建 M a t 类载入 图像一将原 图转 换为灰度图 像一 使 用 5 * 5内 核降 噪一 调 用 c a n n y 算 子一 采 集 正 交 十字 坐标 。核 心程 序 如 下
Ma t d s t , e d g e , g r a y ; d s t . c r e a t e (s r e 1 . s i z e( ) ,s r e 1 . t y p e( )) ;c v t -
科技 创新 与 应用 l 2 0 1 7 年 第1 0 期
科 技 创 新
基于o p e n c v 的双目 视觉影像测量标定方法优化设计
吴 世 迪 石 成 江 何 万 涛
( 1 、 辽宁石油化工大学 , 辽宁 抚顺 1 1 3 0 0 1 2 、 黑 龙 江 科 技 大学 , 黑龙 江 哈 尔 滨 1 5 0 0 2 7 ) 摘 要: 逆 向 工程 技 术采 用 了通 过 测量 实 际物体 的尺 寸 转 换 为 3 D模 型 的 方 法 。文 章 着眼 于长 距 离广 角度 下相 对低 精 度 的视 觉 影像 测 量 标 定 , 对此 进 行 了优 化 设 计 。通过 C C D摄像 机 获 得 平 面 图像 后 使 用 o p e n c v滤 波处 理 , 精确 识 别 测 量物 外观 轮 廓 和 激 光 点. 综合激光 角度和光斑到像平面的距 离求解相机在世界 坐标 系下的参数矩阵。 关键 词 : 结 构光 测 量 ; 相机 标 定 ; o p e n c v滤 波 ; 轮 廓 提 取 ( 1 ) 图 2中坐 标 原 点 位 光 源 位 置 , 由卡 尺 和激 光 测 距 度 数 配 合 1绪 论 结 构 光测 量 原理 及 相机 标 定 简介 安装调试为零位置 。 固定在可 以水平旋转和竖直垂直于纸面方 向旋 光 栅 投影 仪 C C D相 机安 装 位 置 如 图 t 所 示 。从 光栅 投 影 仪 发 就 可 以分 出的光栅 投射 到零坐标平面上经过物体表 面轮廓阻挡产生包含高 转 的两个 旋 转 台上 。当 两个 转 台安 不 同角 度旋 转定 位 时 , 在 度信息的相位偏移信息 的反射光 ,由 C C D相机 获取分时多帧图像 别取 到 图示 网格 状交 点 的 各个 位 置 。光源 到 物 体 表面 距 离 已 知 , 两个 转 台 上 的转 角 已知 , 可 以容 易求 得 物 体 表 面光 点 位 置 的 三维 坐 识别分析后得 到像点实际高度。
一种基于OpenCV及CVUT的摄像机标定方法
一种基于OpenCV及CVUT的摄像机标定方法张立静;付宜利;冯美【期刊名称】《自动化与仪表》【年(卷),期】2011(26)12【摘要】该文以摄像机标定为研究对象,简单介绍了OpenCV及CVUT(computer vision utility tools),分析了计算机视觉函数库OpenCV中的摄像机模型,其中的非线性畸变考虑到了切向畸变和径向畸变.根据模型详细给出了标定过程,通过标定过程给出OpenCV及CVUT的标定算法,充分发挥了OpenCV的函数库和CVUT功能,从而实现了摄像机标定.该算法对于图像处理与计算机视觉方面的应用设计具有实用价值,并且可以缩短应用程序的开发周期,消除C语言中比较常见的内存泄露问题,具有良好的跨平台移植性,可满足视觉检测或其它计算机视觉系统的需要.%This paper researching on the camera calibration,have briefly introduced OpenCV and CVUT(computer vision utility tools). Then we analyzed the camera model in the vision function library OpenCV,the process which takes full account of the radial lens distortion and tangential distortion factors. What's more,we have figured out the calibration process and calibration algorithm. Therefore,the calibration based on OpenCV and CVUT could be achieved,which puts the function of OpenCV and CVUT libraries into full play. This kind of arithmetic had practical value on the application design of image processing and computer vision,and could short the development cycle of application program,eliminate the EMS memory leak that were very common in C language,and had a goodcrofts- platform portability to meet the visual inspection or other computer vision systems.【总页数】4页(P48-51)【作者】张立静;付宜利;冯美【作者单位】哈尔滨工业大学机电工程学院,哈尔滨150001;哈尔滨工业大学机电工程学院,哈尔滨150001;哈尔滨工业大学机电工程学院,哈尔滨150001【正文语种】中文【中图分类】TP39【相关文献】1.基于OpenCV的CCD摄像机标定方法 [J], 雷铭哲;孙少杰;陈晋良;陶磊;魏坤2.一种基于OpenCV的摄像机标定算法的研究与实现 [J], 孙昆;穆森;邱桂苹;赵倩3.一种基于OpenCV的简易摄像机标定方法 [J], 郭静;吴怀宇;杜钊君4.一种基于OpenCV的摄像机标定方法 [J], 田克微;张爱武;王少敏5.基于OpenCV的红外与可见光双摄像机标定方法研究 [J], 任贵文因版权原因,仅展示原文概要,查看原文内容请购买。
基于LabVIEW开发的摄像机标定方法
基于LabVIEW开发的摄像机标定方法
罗智文;林建龙;于修洪
【期刊名称】《北京工商大学学报(自然科学版)》
【年(卷),期】2010(028)002
【摘要】针对火车轮缘动态检测系统中的摄像机标定问题,讨论了基于径向约束的摄像机标定,选定了包含畸变因素的摄像机透视投影模型,得出了以LabVIEW开发的摄像机标定方法.该方法利用了LabVIEW的图形化开发环境,内嵌Matlab语言编写的核心程序,数据处理功能强大,且具有良好的图形化互动界面.
【总页数】5页(P66-70)
【作者】罗智文;林建龙;于修洪
【作者单位】北京工商大学,机械工程学院,北京,100048;北京工商大学,机械工程学院,北京,100048;北京工商大学,机械工程学院,北京,100048
【正文语种】中文
【中图分类】TP311.56;TB872;TS976.9
【相关文献】
1.基于LabVIEW的嵌入式系统开发与调试方法 [J], 吴剑;苗晋玲
2.VC++环境下基于OpenCV的摄像机标定系统的开发 [J], 李洪雷;管群;胡凯衡;杨宇
3.基于LabVIEW网络型实验教学系统开发方法 [J], 徐占国;冯冬菊;杨柳
4.基于改进风驱动算法的摄像机标定优化方法 [J], 任久斌;曹中清
5.基于矩特征和鲁棒性估计的摄像机标定方法 [J], 喻夏琼;秦晓东;高超;孙韬
因版权原因,仅展示原文概要,查看原文内容请购买。
基于OpenCV的摄像机标定研究
基于OpenCV的摄像机标定研究聂红梅;刘忠艳【摘要】According to the principle of camera calibration, it puts forward a calibration technique based on OpenCV camera, and with the help of open-source computer vision library, OpenCV completes the calibration in VS 2008 development platform. The experiment proves that the calibration procedure based on OpenCV camera has the following advantages: high calibration accuracy, high computation effi-ciency and good cross platform portability, which can be effectively applied in the field of computer vision system.%根据摄像机标定原理,提出了一种基于OpenCV的摄像机标定技术,并且借助于开源计算机视觉库OpenCV在VS 2008开发平台下完成标定.通过相关实验证明了,利用OpenCV开发的摄像机标定程序具有标定结果精确、运算效率高、跨平台移植性好等优点,可以有效地应用于需要计算机视觉系统的各个领域.【期刊名称】《微处理机》【年(卷),期】2017(038)006【总页数】4页(P58-61)【关键词】OpenCV视觉库;摄像机标定;线性摄像机模型【作者】聂红梅;刘忠艳【作者单位】黑龙江科技大学,哈尔滨150022;黑龙江科技大学,哈尔滨150022【正文语种】中文【中图分类】TP319人们通常用仿生物学方法来完成对自然界物体的重构,比如用各种成像系统替代人的视觉系统,用计算机替代人的大脑完成三维重构。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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标定方法,本文标定过程无需人工参与,且标定速度快,非常适合实际应用。