一种基于OpenCV的简易摄像机标定方法

合集下载

opencv摄像头标定

opencv摄像头标定
CvMat* image_points=cvCreateMat(NImages*NPoints,2,CV_32FC1); //检测到的角点坐标;
CvMat* point_counts=cvCreateMat(NImages,1,CV_32SC1); //视图数目,注意跟上两个不同的是CV_32SC1啊啊啊啊啊啊啊啊啊啊~~~~~~~~~~~~ ;
{
int i=0;
int j=0;
{
temppoints[(CurrentImage*NPoints*3)+(CurrentRow*ChessBoardSize.width + CurrentColumn)*3]=(float)CurrentRow*SquareSize;
temppoints[(CurrentImage*NPoints*3)+(CurrentRow*ChessBoardSize.width + CurrentColumn)*3+1]=(float)CurrentColumn*SquareSize;
void PrintMat(CvMat *matrix,BOOL save_or_show,FILE *fp);
void InitCorners3D(CvMat *Corners3D, CvSize ChessBoardSize, int NImages, float SquareSize)
{
//cvShowImage("test",src);
int NImages=1; //图片数量;
int NPoints=42; //每一幅图片有42个角点;
CvSize BoardSize=cvSize(6,7);

一种基于OpenCV及CVUT的摄像机标定方法

一种基于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], 任贵文因版权原因,仅展示原文概要,查看原文内容请购买。

一种基于OpenCV的摄像机标定算法的研究与实现

一种基于OpenCV的摄像机标定算法的研究与实现
条件 下 , 只需一 幅 图像就 可 以求 出摄 像机 的 全 部 内外参 数 。但三 维标 定物 的加 工和 维护 比较 困难 。二维 共面 标定 物加 工维护 简 单 , 这里 借鉴 张正 友 的平 面标 定方 法 ,假 角点 的数量 以及 各个 角 点的坐 标值 在 标定 设平 面 模 板位 于世 界 坐 标系 Z 0 = 的平 面上 , 过程 中 ,主要用 到 了c C l b a e a e a 这 va irtC mr 2 旋转 矩 阵 R 的第 i 以 I 识 。从 公 式 () 列 标 2 我 个 接 口函数 。这 里对 函数 做简 单介 绍 。
1 引言 .
定算


() 7
法 ,最后 分析 如何借 助开 源软 件0 e C p nV V 2× 是 n 6的矩 阵 , 当 n ≥3时就 可 以得 计 算机 视 觉 的基本任 务之 一是 从摄 像机 获取 的 图像信 息 出发计 算三 维空 间 中物 体 的 实现 算法 。 到b 的唯 一解 ,并根 据b 求解 摄像 机 的 内参 来 几何 信 息,并 由此 重建 和识 别物 体 。而 空 间 数矩 阵A 内部 参数 确 定后 ,外 部参 数 可 以 。 2 摄 像机 模型 . 物体 表面 某 点的三 维几 何位 置与其 在 图像 中 对应 点 之间 的相 互关系 是 由摄像 机成像 的几 何模 型 决定 的 ,这些 几何模 型参 数就 是摄 像

() 1

Y Βιβλιοθήκη 0 eC Oe o reC mu e iin p n V(p n S u c o p t r V s o
摄 像机 标定 是确 定摄像 机 内外参 数 的一 个过 程 ,其 中 内参 数 的标 定是指 确 定摄像机

摄像机标定原理及源码

摄像机标定原理及源码

计算机视觉摄像机标定实验报告[实验名称]基于OpenCV的摄像机标定[实验项目]1、学会使用OpenCV2、利用OpenCV进行摄像机标定,编程实现,给出实验结果及其分析。

[实验仪器设备]电脑+Visual Studio 2010+openCV.2.4.8。

[实验原理]1、理论知识如图,(u、v)表示以像素为单位的图像坐标系的坐标,(X、Y)表示以mm为单位的图像坐标系的坐标,在X、Y坐标系中,原点O1定义在摄像机光轴与图像平面的交点,该点一般位于图像中心,但是由于制造原因,很多情况下会有偏移,若O1在U、V坐标系中坐标为(u0,v0),每一个像素在X轴与Y轴方向上的无力尺寸为dx、dy,则图像任意一个像素在两个坐标系下的坐标有如下关系:如图,Oc点为摄像机光心,Xc轴和Yc轴与图像的X轴与Y轴平行,Zc轴为摄像机光轴,它与图像平面垂直。

光轴与图像平面的交点,极为图像坐标系的原点,由点Oc与Xc、Yc、Zc轴组成的直角坐标系称为摄像机坐标系,OOc为摄像机焦距:由于摄像机可以安放在环境中任意位置,所以在环境中选择一个基准坐标系来描述摄像机位置,并用它描述环境中任何物体的位置,该坐标系为世界坐标系。

它有Xw、Yw和Zw轴组成,摄像机坐标系与世界坐标系之间的关系可以用旋转矩阵与平移向量t来描述。

总体来说,世界坐标系到图像坐标系的关系可总结如下:摄像头成像几何关系,其中Oc 点称为摄像头(透镜)的光心,Xc 轴和Yc 轴与图像的x轴和Y轴平行,Zc 轴为摄像头的光轴,它与图像平面垂直。

光轴与图像平面的交点O1 ,即为图像坐标系的原点。

由点Oc 与Xc 、Yc 、Zc 轴组成的坐标系称为摄像头坐标系,Oc O1 的距离为摄像头焦距,用f表示。

又称为线性摄像机模型,任何空间点M在图像中的投影位置m,为光心Oc与M的连线OcM与图像平面的交点。

此时有比例关系如下:将上面的世界坐标到摄像机坐标的转换代入,最后皆可以得到世界坐标系与摄像机坐标系之间的关系:alph=f/dx,beta=f/dy,分别代表了以X轴与Y轴方向上的像素为单位表示的等效焦距。

一种基于OpenCV的摄像机标定算法的研究与实现

一种基于OpenCV的摄像机标定算法的研究与实现

一种基于OpenCV的摄像机标定算法的研究与实现作者:孙昆穆森邱桂苹赵倩来源:《电子世界》2012年第14期【摘要】摄像机标定是计算机视觉中的一个重要问题。

本文介绍了标定的基本原理,详尽阐述了使用二维模板的标定算法,重点分析了如何借助开源软件OpenCV实现该算法。

实验结果显示,使用OpenCV中的相关函数,可以方便地进行数学计算,简单有效地完成摄像机标定。

【关键词】摄像机标定;内部参数;单应性矩阵;OpenCV1.引言计算机视觉的基本任务之一是从摄像机获取的图像信息出发计算三维空间中物体的几何信息,并由此重建和识别物体。

而空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系是由摄像机成像的几何模型决定的,这些几何模型参数就是摄像机参数。

摄像机标定是确定摄像机内外参数的一个过程,其中内参数的标定是指确定摄像机固有的、与位置参数无关的内部几何与光学参数,包括图像中心坐标(也称主点坐标)、图像纵横比、相机的有效焦距和透镜的畸变失真系数等;外参数的标定是确定摄像机坐标系相对某一世界坐标系的三维位置和方向关系。

目前,摄像机标定技术主要有两种实现方法:(1)基于标定物的方法:需要尺寸已知的标定参照物,通过建立标定物上三维坐标已知点与其图像点之间的对应,利用一定的算法获得摄像机的内外参数。

标定物可以是三维的,也可以是二维共面的。

三维标定物条件下,只需一幅图像就可以求出摄像机的全部内外参数。

但三维标定物的加工和维护比较困难。

二维共面标定物加工维护简单,但一幅图像不足以标出所有的摄像机参数,因此需要简化摄像机模型,或者从不同角度获取多幅图像来同时标出所有的参数。

当应用场合要求的精度很高而且摄像机的参数不经常变化时,这种标定法应为首选。

(2)自标定法:不需要标定物,仅依靠多幅图像对应点之间的关系直接进行标定。

利用了摄像机内部参数自身的约束,而与场景和摄像机运动无关。

该方法非常灵活,但不是很成熟,由于未知参数太多,很难得到稳定的结果。

opencv的相机标定方法

opencv的相机标定方法

opencv的相机标定方法
OpenCV提供了多种相机标定方法,其中最常用的是棋盘格标
定法。

下面是使用棋盘格标定相机的步骤:
1. 准备一副棋盘格图片,棋盘格的每个方格必须是完整的黑白交替的。

2. 使用摄像机拍摄多幅图片,确保棋盘格图片处于不同的位置和角度,同时保持棋盘格在整个图像中都可见。

3. 初始化标定板格点的三维坐标数组和图像中对应点的二维坐标数组。

4. 使用OpenCV的函数`findChessboardCorners()`在每个图像中
查找棋盘格的角点,并将其保存在图像对应的二维坐标数组中。

5. 使用OpenCV的函数`drawChessboardCorners()`在每个图像
上绘制出检测到的角点。

6. 使用OpenCV的函数`calibrateCamera()`计算相机的畸变系数和相机矩阵。

7. 使用OpenCV的函数`undistort()`去除图像的畸变。

8. 使用OpenCV的函数`imshow()`显示校正前后的图像进行对比。

9. 使用OpenCV的函数`getOptimalNewCameraMatrix()`获取校正后图像的新相机矩阵。

10. 使用OpenCV的函数`initUndistortRectifyMap()`获取校正后图像的映射矩阵。

11. 使用OpenCV的函数`remap()`将原始图像映射到校正后图像。

通过以上方法,可以完成相机的标定和校正,得到更准确的图像处理结果。

基于OpenCV的摄像机标定方法的实现

基于OpenCV的摄像机标定方法的实现
Ke r s: c mp trv so y wo d o u e iin;Ope CV;c me a mo e ;c me a c l r to n a r d l a r ai ain b
空间物 体表 面某 点 的三 维几何位 置 与其在 图
标定 法而 言 , 摄像 机标 定法 标定 结果稳 定 , 传统 精 度 较高 . 摄 像机 方 位 、 在 焦距 固定 不 变 的情况 下 , 往往 采用传 统摄像 机标 定法 . 开放 源代码 的计 算 机 视觉 类 库 ( 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

摄像机标定之OpenCV

初学OpenCV之摄像机标定最近方向定下来是双目立体视觉,主要是做重建这块的研究。

大致过程是图像获取->摄像机标定->特征提取->匹配->三维重建,当然开始可以进行图像预处理,矫正,后期可以进行点云的进一步处理,如渲染表面使其更接近于现实物体。

图像获取相对来说比较简单,用相机拍摄目标物(大型场景或特定小型的室内物体)。

但有两点需要注意:1、双目重建所需的图像一般为两张,角度相差不应过大,否则公共部分太少以至于重建效果不佳;整个过程简便,成本也不高,但缺陷是只有两张图像的点云所表示的物体信息不会很全面;2、标定所需的图像又是另外拍摄的,用张正友标定法的话,把印有黑白棋盘格的图像粘至硬纸板上,然后左右摄像机各自进行拍摄,理论上获得角度(图像)越多,最终标定结果越精确;标定板见下图:这里主要结合OpenCV对左右摄像机标定做一个简单的介绍,望朋友们指正,一起交流、进步。

摄像机的标定问题是机器视觉领域的入门问题,可以分为传统的摄像机定标方法和摄像机自定标方法。

定标的方法有很多中常见的有:Tsai(传统)和张正友(介于传统和自定标)等,摄像机成像模型和四个坐标系(通用原理)。

摄像机模型采用经典的小孔模型,如图中Oc(光心),像面π表示的是视野平面,其到光心的距离为f(镜头焦距)。

四个坐标系分别为:世界坐标系(Ow),摄像机坐标系(Oc),图像物理坐标系(O1,单位mm),图像像素坐标系(O,位于视野平面的左上角,单位pix)。

空间某点P到其像点p的坐标转换过程主要是通过这四套坐标系的三次转换实现的,首先将世界坐标系进行平移和转换得到摄像机坐标系,然后根据三角几何变换得到图像物理坐标系,最后根据像素和公制单位的比率得到图像像素坐标系。

(实际的应用过程是这个的逆过程,即由像素长度获知实际的长度)。

ps:通过摄像头的标定,可以得到视野平面上的mm/pix分辨率,对于视野平面以外的物体还是需要通过坐标转换得到视野平面上。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

图像像素坐标系, 该坐标系的单位是像素 , 坐标原点 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 , 因此研究 摄像 机 标定 方 法 具有 重 要 的理 论 意 义 和实 际应用 价值 。
O eC pn V是 I e 公司资助 的开源计算 机视觉 nl t
作者简介 :郭静 ( 9 8 , , 士研究 生 , 18 一) 女 硕 研究 方 向为 智能 自 动 化, 计算机视觉。

l3一 l
1 1 常用坐 标 系及 变换 .
图 2中 , 为摄像 机光心 ,X ,cZ ) 0点 ( 。】 , 为摄 像 , 机坐 标 系 , , , 为世 界 坐标 系 , 0 ( z) 0 为摄 像 机焦 距 , P为空 间 中一 点 。摄像 机 坐 标 系 与世 界 坐 标 系之 间的关系 可 以用旋 转矩 阵 和平移 向量 t 来 描述 , 因此摄 像机 坐标 系 与世 界 坐标 系 的转换 关 系
为:
摄像机 采集 的模 拟 图像 经计算 机 中 的专用 模数 转换 卡转换 成数 字 图像 , 幅数 字 图像 在 计 算 机 内 每 表示 为 M × 的数组 , 行 Ⅳ列 的 图像 中 的每 一个 N 肘
元素称为像素。为了表示每个像素 的位置, 需要建
立 图像坐 标 系 , 图 1所示 , ,) 如 ( 是定 义在 图像上
G O J g WU H a-u D h o u U i , n ui , U Z a- n y j
( o eeo fr t nS i c n n ier g W u a nvri f cec n C f g f nomai c n ea dE gnei , h nU ies yo inea d l I o e n t S T cn lg , u a 30 1 柚 眦 ) eh o y W h n4 0 8 ,( o
e e na y se ih i a s s e t lt ba n t r e d me s n no main f m wo d me s n l lme tr tp wh c s l e s n i o o ti h e i n i a i fr t r o a ol o o a t i n i a o
其 中 , 、 分 别 是 以水 平 和垂 直 像 素 为 单 位 的焦 距 , 是摄 像 机 内参 数 矩 阵 , 是 摄 像 机 的外 参 M

ll 一 4
数矩 阵 。这样 便 建 立 了 P 的世 界 坐 标 与 它 经 过 摄
像机成像后像点 P 图像像素坐标之间的关系。 13 非线 性失真 . 针孔成像模型是对 常规摄 像机几何成像 的描 述, 在高精度三维测量 中, 需要准确地描述成像几何 关系 J 由于实 际的镜头并 不是理 想的透视成像 , ,
i g .I r e o i r v e efce c fta i o a a r a ir t n me o s n e e VC ++6. ma e n o d rt mp o e t f in y o r dt n lc mea c b ai t d .u d rt h i i l o h h 0 p a o m .t i atce c u lz d t e a e a a ir to tr u h c li l e CV1 0 f n t n . i lt r f h s ri l a t aie c h m r c l ain h o g alng t e Op n b 1 . u c i s Th s o
s pi t o e to il f ce a ide o ne a yo t azt nagr ms n s i l i f hdima yrl t i t tt os t edm n pi i i oi dj t m c y t me h s n e e d nh n m ao l t a u h
Ke r s: ma h n ii n;c me a c lb ain;ta iina ai r to y wo d c i e v so a r ai r to r d to lc b ain;Op n l e CV
在计算机视觉领域 中, 摄像机标定与三维重建
是基 于 二 维 图 像 的 三 维 空 间定 量 分 析 的 关 键 内 容… , 也是 立体 视觉 的关键 技 术 。用 立 体 视 觉 方法 进行 三 维 重 建 主 要 包 括 三 个 步 骤 J① 摄 像 机 标 :
21 0 1年第 2 1期
中图分类号: P9 . 1 T 3 14 文献标识 码 : A 文章编号 :0 9— 52 2 1 )2— 13一 4 10 2 5 (0 1 1 0 1 o

种 基 于 O eC pn V的简 易 摄像 机标 定 方 法
郭 静, 吴怀宇 , 杜钊君
( 武汉科技大学信 息科学与工程学 院 ,武汉 4 0 8 ) 3 0 1

u , 、
ቤተ መጻሕፍቲ ባይዱ

空间 P点在摄像机坐标系下的坐标为( , , , z ) 它在摄 像机 成像 平 面上 的投 影 点 为 P 在 图 像 坐标 系下坐 标为 ( Y 为 焦距 。由于 轴 和 y 轴 与 ,) c
图像 的 轴 与 Y轴 平行 , 以 可得 出摄 像机 坐 标 系 所
u e t e a i ai n u c in n i r r t c ry u e p rme t. An i rv d h e f a i ii a d s s h c l br t f n t s i lb a y o ar o t x e o o i ns d t o e t e sb lt n p y e e tv n s ft i t o ong t e e p rme t . f cie e s o sme d by d i x e h h h i n s ・
定, 即确定摄像 机内外 参数 的一个过程 ; ②立体 匹 配, 即从 不 同图像 中找 出 同一 空 间点 在 这 些 图像 上
投影 点 的过程 ; 三维重 建 , 据摄 像机标 定所 得 到 ③ 根
1 摄像 机 的标定原理
在摄像机标定过程 中, 选用合适的摄像机模型 也是必要任务之一 , 摄像机模 型是光学成像模 型的
(pnsuc o p t s n 库 , oe orecm ue v i ) 由一 系列 C函数 和 r io
少量 c+ 类构成 , + 可实现图像处理和计算机视觉方 面的很多通用算法l 。它包含 的各类 图像处理及 6 ]
识别的函数非 常丰富, 而且 一 般 都 进 行 了很 好 的
优化。
简化 , 了定量 地 描述光 学成像过 程 , 须要 引入三 为 必
的内外参数和图像匹配结果计算物体相对摄像机的 距离 , 获得物体的立体信息 。可见, 摄像机标定是三
维重 建必 不可少 的一个 步 骤 , 是 计算 机视 觉 获 J也
个坐标系 , 即摄像机标定原理 中所涉及的几个必 要的坐标系 , 分别是图像坐标系、 摄像机坐标系和世
Absr c : I t e il o ma h n v so a d nd sra me s r me t c me a ai r to i a ta t n } fed f l c i e iin n i u t l i a u e n . a r c lb ain s n
l , c
Z 1 Z

() 4
其 中 , 为 3X3正 交单 位 矩 阵 , 为三 维 平移 向量 , t
O =( , , ) O 0 0 0 T
12 摄像 机模 型 .
0 I
(0V) “,0
摄像机模型是光学成 像模型的简化 , 以近 似 可 描述从场景投影到图像的过程。本文采用在实际应 用中最为常见的针孔模型, 如图 3 所示。
而是有 不 同程度 的 畸变 , 此 本 文 在摄 像 机 的标定 为
模型中引入径向畸变和离心畸变, 摄像机 的畸变值 用 6 和 用式 ( ) 5 来表 示 :

图 5 棋 盘
6( ,) k (2 Y) P (x +, + px ] Y = l + +[13 )) 2 2 y
仅利 用库 函数 中已有的标定函数便可实现。并通过 实验证明了此方法的可行性与有效性。 关键词:机器视觉 ; 摄像机标定 ;传统标定;O eC pn V
相关文档
最新文档