【计算机视觉】 多幅相机标定, 多相机标定(matlab/opencv)

来源:互联网 发布:linux删除当前文件夹 编辑:程序博客网 时间:2024/05/21 05:19

多幅相机标定

1 opencv多幅相机标定

原文来源 opencv

http://docs.opencv.org/master/d2/d1c/tutorial_multi_camera_main.html

多幅相机校准

本教程将展示如何使用多个相机标定工具箱。 这个工具箱是基于“随机”的用法模式标定对象,那么本教程主要是两部分:介绍“随机”模式和多个相机校正。

随机模式标定对象

随机模式是随机生成的图像。 这是“随机”,这样就有许多特征点。 生成后,打印出来,把它作为一个校准对象。 以下两张图片是随机模式和拍照。

random_pattern.jpg
图像
pattern_img.jpg
图像

生成一个随机模式,使用的类 CV:randpattern::RandomPatternGenerator在 ccalib模块。 运行它

cv::randpattern::RandomPatternGenerator generator(width, height);
generator.generatePattern();
pattern = generator.getPattern();

在这里 宽度和 高度是模式图像的宽度和高度。 获取模式后,打印出来,拍一些照片。

现在我们可以使用这些图像校准相机。 首先, objectPoints和 imagePoints需要检测。 使用类CV:randpattern::RandomPatternCornerFinder检测它们。 一个示例代码

cv::randpattern::RandomPatternCornerFinder finder(patternWidth, patternHeight, nMiniMatches);
finder.loadPattern(pattern);
finder.computeObjectImagePoints(vecImg);
vector<Mat> objectPoints = finder.getObjectPoints();
vector<Mat> imagePoints = finder.getImagePoints();

这里的变量 patternWidth和 patternHeight物理模式与用户定义的单位宽度和高度。 vecImg是一个向量的图像存储校准图片。

第二,使用校准功能 CV:calibrateCamera或 CV:omnidir::校准校准相机。

多个摄像头校准

现在我们搬到多个相机标定,到目前为止,这个工具箱必须使用随机模式对象。

校准多个摄像头,我们首先需要随机模式的一些照片。 校准的原因,外在的参数,一个模式需要被多个摄像头(至少两个)在同一时间。 另一件事是帮助程序知道哪个相机和拍照模式,图像文件应该命名为“cameraIdx-timestamp。*”。 照片与同一时间戳意味着他们是相同的对象由几个摄像头。 此外,cameraIdx应该从0开始。 一些例子的文件名称是“0 - 129。 png”、“0 - 187。 png”、“1 - 187”、“2 - 129”。

然后,我们可以运行多个摄像机标定

cv::multicalib::MultiCameraCalibration multiCalib(cameraType, nCamera, inputFilename,patternWidth, patternHeight, showFeatureExtraction, nMiniMatches);
multiCalib.run();
multiCalib.writeParameters(outputFilename);

在这里 cameraType显示摄像机类型, multicalib:MultiCameraCalibration::针孔和 multicalib::MultiCameraCalibration::无方向性都受支持。 全向相机,你可以参考 CV:omnidir模块的细节。 nCamera是camers的数量。 inputFilename生成的一个文件的名称吗 imagelist_creator从 opencv /样本。 它存储随机模式和校准图片的名字,第一个文件的名字是随机模式的名称。 patternWidth和 patternHeight是物理模式的宽度和高度。 showFeatureExtraction是一个标志指示是否显示特征提取的过程。 nMiniMatches是最小的点,应该在每一帧中发现,否则这个框架将被放弃。 outputFilename是一个xml文件名字存储参数。




2 matlab 多幅相机标定

  • —Multiple-Camera系统标定工具箱使用功能Descriptor-Based校准模式。 作者:薄熙来,莱昂内尔·亨,凯文Koeser和Marc Pollefeys计算机视觉和几何集团苏黎世联邦理工学院。 

多摄像机标定工具箱
使用基于特征描述符的校准模式的多摄像机系统校准工具箱
Bo Li,Lionel Heng,Kevin Koeser,Marc Pollefeys
苏黎世联邦理工大学计算机视觉与几何组
IEEE / RSJ智能机器人与系统国际会议(去),2013
摘要
本文提出了一种基于特征描述子的校准模式和MATLAB工具箱的使用特别设计的图案很容易完成内联函数和多摄像机系统的非本征。在现有的校准模式,特别是,无处不在的棋盘,所提出的模式包含了许多不同尺度的功能,这样的功能可以很容易地自动检测。该工具箱支持一个摄像系统可以包括正常的针孔摄像机或折反射摄像机标定。校准只要求相邻摄像机同时观察校准模式的部分,所观察到的部分可能不会重叠在所有。没有重叠的视野被假定为相机系统。我们表明,工具箱可以很容易地用于自动校准相机系统。

多幅相机自校准

Matlab软件包为 完整的 并充分 自动 校准的多幅相机设置(3凸轮最小)。 一个标准的激光 指针是唯一你需要的硬件。 没有校准的对象和用户 交互要求。 

关键词: 多个摄像机标定,摄像机标定, selfcalibration多幅相机标定,标定的相机 网络。


作者的代码

  • 托马斯 Svoboda 。 相应的作者。 的设计方案, 欧几里得分层,找到点,I / O操作,接口, 强劲的重建calib验证……
  • 丹尼尔Martinec 和 托马斯Pajdla 。 填充 通过第4级分解点射影重建。
  • 让 Bouguet 。 径向畸变的规律。
  • 托马斯沃纳 。 射影 束调整。
  • Ondrej密友 。 RANSAC实现

历史

  • 2011年2月 。 稍微修改代码 并使 倍频程 兼容的 安德鲁稻草 和他的合作者。 看到 自述 为更多的细节。 谢谢安德鲁!
  • 2005年5月24日 。 版本1.0 释放。
  • 2004年10月29日 。 样本数据 可供下载。
  • 2004年7月15日 。 接受我们的期刊论文。
  • 2003年8月20日, 。 文档升级。
  • 2003年7月30日 。 发布候选版本2。
  • 2003年7月18日 。 首次公开发行候选版。
  • 早期的2002年春天。 第一次真正的工作版本的线性模型 估计。 然后测试、升级、测试、升级、测试、…

下载

发送一个邮件给托马斯Svoboda svoboda_at_cmp.felk.cvut。 cz如果你 想收到公告升级。 请写 SelfCal主题领域。 任何建议,缺陷报告 受欢迎的。

  • 版本1.0 版本1,gzip tar文件的来源。 更改日志 因为RC2。
  • 样本数据 。 检查时可能有用instalation和解释一些配置参数的意义。
  • RC2的1.0版 gzip tar文件 来源(2003年7月30日)。 变化 对RC1。
  • RC1版本1.0 gzip tar文件 来源(2003年7月18日)。

被测试的代码在几个Linux机器和不同 版本的 Matlab 包中。

使用的保证、支持条件

提供的软件。 使用是免费的。 至关重要的 修改的代码(而不是配置变化)和他们的 再分配必须批准我。 请使用artictle 在杂志上的参考。

出版物和文档

  • 托马斯Svoboda。 完整的摄像机标定系统的一个软件。 麻省理工学院的讲座 CSAIL的 。 2005年1月25日。 (幻灯片 PDF |打印输出PDF ]
  • 托马斯Svoboda,丹尼尔Martinec,托马斯Pajdla。 一个方便的多幅相机自校准的虚拟环境。 存在:遥控机器人和虚拟环境 ,407 - 422页,14(4),8月 2005年。 麻省理工学院出版社 
    手稿的杂志文章 (PDF,1.7 mb) 。 它的 bib-entry 
  • 早期版本的TR-users指南。 ( PDF ],[版本从8月20日,2003]。 下载和反馈 困难我将在升级和工作文档:-)我可以提供一些测试数据请求。
  • 图形化的 素描的自校准问题。
  • 短 描述 的输出参数。
  • 短 视频 (avi,DivX) 显示校准我们的移动 我 房间 在一家工厂设置。

链接

  • 摄像机标定 工具箱 Matlab。 这个包的径向畸变的例程 在我们self-calib包。
  • 演示页面 关于 投影透视图像的三维重建,遮挡 和离群值。
  • 麦迪克 项目。
  • Blue-C 我 房间 )项目。

最后修改:02/22/2011 16:10:58 

维护人员: 托马斯Svoboda 
[CNW:Counter]自2003年8月5日到达。 CNW:Tracker

3 matlab 强大的标定能力

相机标定为Matlab工具箱

一些相关链接摄像机标定

  • 相机标定和OpenCV——校准工具箱一样,OpenCV。

  • 一个通用的摄像机模型和传统的标定方法,广角,鱼眼镜头的镜片——“无证”鱼眼模型标定工具箱中包含遵循等距离投影模型描述方程(3)在这个非常好的纸。 畸变模型遵循方程(6)的异常k1 = 1(否则区别f)。

  • 摄像机标定工具箱机器人技术和机电一体化研究所的德国——DLR CalDe和DLR CalLab相机标定是一个非常完整的工具(包括角落提取)。 工具就成为免费下载(用于非商业目的)。 作者:克劳斯Strobl,主席沃尔夫冈斯蒂芬·福克斯,克里斯蒂安·裴瑞兹和克劳斯Arbter机器人及机电一体化研究所。

  • 全自动相机和手眼标定由基督教Wengert从瑞士联邦理工学院(ETHZ)。 这是两个附件这款相机标定为Matlab工具箱。 第一部分介绍了全自动校准程序和第二覆盖相机的标定机器手或外部标记(称为手眼claibration)。 作者提供了一个完整的文档。

  • 一个独立的相机标定的应用程序开发的Danail Stoyanov从英国皇家学会/沃尔夫森基金会医学影像计算实验室,英国伦敦帝国理工学院。 这个应用程序的灵感来源于这个相机标定为Matlab工具箱。 它有一个很好的用户界面,是独立的! 一个伟大的工具! 谢谢丹尼尔这使这个应用程序可用普通社区。

  • 全向相机校正为Matlab工具箱——一个完整的工具箱校准全向相机。 作者大卫。Scaramuzza在瑞士洛桑联邦理工学院(EPFL),瑞士。

  • 多个摄像机标定工具箱——Multiple-Camera系统标定工具箱使用功能Descriptor-Based校准模式。 作者:薄熙来,莱昂内尔·亨,凯文Koeser和Marc Pollefeys计算机视觉和几何集团苏黎世联邦理工学院。

  • 全向标定工具箱扩展——一个伟大的扩展工具箱校准全向相机。 作者克里斯托弗·梅写了一个非常完整的文档,例子。 它还包含C程序undistorting图片,和阅读校准的结果。 这是一个美妙的这款相机标定工具箱。 点击这里查看详情!

  • OpenCV和MatLab相机标定工具箱的提高——一组matlab和C代码,增加了一个自动角检测matlab标定工具箱。 作者弗拉基米尔•Vezhnevets也提供了新的OpenCV的增强版本的校准工具(一种更健壮的角点检测)。 一个完整的C + +独立应用程序也可以发现这一点位置。 这是一个了不起的工具。

  • 大学的相机标定工具箱在matlab奥卢,芬兰(珍妮Heikkil��ufffd和奥利Silven)-相机校正的参考。 不幸的是,代码不包括角落提取。 我们使用其内在的相机模型的实现。

  • 灵活的摄像机标定的新技术——张正友——微软研究院——伟大的校准工作。 必须看到的。 从这个工作我们的工具箱都得到很大的启发。 软件是在线的,但是,它不包括角落提取。

  • 蔡相机校准软件——经典! 每个人都感兴趣的相机校准应该知道这个链接。 不包括提取图像角落。

  • Reg威尔逊主页卡内基梅隆大学——参考页面变焦镜头建模、校准…… 也链接他是维护的代码。 一个非常有用的链接。

  • 摄像机标定的matlab工具箱Hynek Bakstein和Radim Halir——一个不错的相机标定为matlab工具箱。 不幸的是,代码不包括提取图像角落。 这个页面还包含的论文Hynek Bakstein相机校正。
原创粉丝点击