1. 背景介绍

双目系统在相机标定时,需要将印制有圆形标志点的标定板摆放不同的位置并摄取图像,然后根据这些图像提取圆形标志点的亚像素中心标定相机内外参数。但是拍摄的图像中有的会像如图所示,相机与标定板之间夹角偏大,圆形的点严重变形为椭圆,根据椭圆提取中心时误差较大。因此,提出在第一次标定完成后,将图像校正为正对相机的图像,使得圆形点尽可能的接近正圆,提高检测准确性。

2. 实施步骤:

2.1 首次双目粗标定得到相机的内外参数
2.2 取标定第iii步的左、右相机拍摄的图像,对图像进行标志点识别和重建标志点三维坐标。此时,重建的坐标系为α\alphaα,重建的点集记为QQQ,假设其中三个点分别为Q1(x1,y1,z1)Q_{1}(x_1,y_1,z_1)Q1​(x1​,y1​,z1​), Q2(x2,y2,z2)Q_{2}(x_2,y_2,z_2)Q2​(x2​,y2​,z2​), Q3(x3,y3,z3)Q_{3}(x_3,y_3,z_3)Q3​(x3​,y3​,z3​)
2.3 建立一个理想的坐标系β\betaβ,该坐标系以标定板平面上任意一点为原点(如左上角或正中心或QjQ_jQj​),标定板所在平面为X′O′Y′X'O'Y'X′O′Y′平面,垂直于标定板平面作为Z′Z'Z′轴。在该坐标系中,原点O′O'O′到Q1Q_1Q1​的距离为∣O′Q1∣|O'Q_1|∣O′Q1​∣,在X′X'X′轴上的分量为∣O′Q1∣x′|O'Q_1|x'∣O′Q1​∣x′,在Y′Y'Y′轴上的分量为∣O′Q1∣y′|O'Q_1|y'∣O′Q1​∣y′,正负号根据向量符号判断。由此可知,Q1Q_1Q1​在此坐标系下的坐标为(∣O′Q1∣x′,∣O′Q1∣y′,0)(|O'Q_1|x',|O'Q_1|y',0)(∣O′Q1​∣x′,∣O′Q1​∣y′,0),同理得到Q2Q_2Q2​,Q3Q_3Q3​,…在β\betaβ中的坐标。
2.4 根据Q1Q_1Q1​,Q2Q_2Q2​,Q3Q_3Q3​,…在坐标系α\alphaα和β\betaβ的坐标值和对应关系,利用SVD分解求解坐标系转换矩阵RT参考另一篇博文
2.5 选取坐标系β\betaβ,X′O′Y′X'O'Y'X′O′Y′平面任意一个整坐标的点(x′,y′,0)(x',y',0)(x′,y′,0), 根据2.4得到的转换矩阵RT,得到其在坐标系α\alphaα下的坐标(x,y,z)(x,y,z)(x,y,z)。然后,根据2.1得到的标定参数求出该点(x,y,z)(x,y,z)(x,y,z)映射到图像上的坐标(u,v)(u,v)(u,v), (u,v)(u,v)(u,v)是一个亚像素点,利用图像三次样条插值,即利用这个亚像素点周围的16个点的灰度值,插值得到它的灰度值,这个灰度值就是(x′,y′,0)(x',y',0)(x′,y′,0)的灰度值。若遍历X′O′Y′X'O'Y'X′O′Y′内的所有的整坐标点,很容易与一张图像一一对应,由此得到一张图像。因为这个图像与X′O′Y′X'O'Y'X′O′Y′平面,即标定板平面重合,所以获取的图像上的标志点是正对的。
2.6 利用2.5矫正的图像进行标志点圆心提取,提取的圆心坐标根据坐标转换矩阵RT,以及标定参数,逆映射到原始图像上。进一步地,利用新获取地圆心提取值,再次标定相机内外参数,由此来优化标定结果,若需要,可迭代上述2.1~2.6的过程。

圆形标定板的图像校正相关推荐

  1. Halcon 圆形标定板标定基本流程-标定助手操作

    Halcon 圆形标定板基本流程 1. 认识标定板: 2. 生成标定板的描述文件 3. 开始标定 4. 采集标定板的图像 5. 得到相机内外参 1. 认识标定板: 这个标定板的规格是 7×7: 标定板 ...

  2. OpenCv相机标定——圆形标定板标定

    OpenCv相机标定--圆形标定板标定 0.前言 1.标定图案 2.OpenCv标定 3.标定结果分析 0.前言   OpenCv中,相机标定所使用的标定图案分为棋盘格.对称圆形及非对称圆形特征图.A ...

  3. 圆形标定板_一种圆阵列标定板特征点提取方法与流程

    本发明涉及一种圆阵列标定板特征点提取方法,属于摄像机标定技术领域. 背景技术: 摄像机标定的途径是根据摄像机模型,由已知特征点的图像坐标和世界坐标求解摄像机的模型参数,特征点提取的精度直接决定标定结果 ...

  4. 圆形标定板_基于圆形标定板特征点提取及排序的方法

    基于圆形标定板特征点提取及排序的方法 刘智 [摘 要] 摘要:在计算机视觉中 , 圆形标定板被广泛使用在像机标定中 , 本文针 对圆形标定板图像 ( 图 1) 在特征点提取后的排序问题 , 提出了利用 ...

  5. 圆形标定板_自己改的,圆形标定板,opencv标定代码

    [实例简介] 自己通过opencv棋盘格标定改的代码,用于圆形标定板的相机标定. [实例截图] [核心代码] CircleCalib └── CircleCalib ├── DotFitting │  ...

  6. 基于python的相机标定(采用圆形标定板图片)

    基于python的相机标定(采用圆形标定板图片) 系列文章目录 与黑白棋盘格差别主要在于寻找角点的函数,只需将第一章内第二段代码 ret, corners1 = cv.findChessboardCo ...

  7. 圆形标定板_机器视觉学习笔记(2)--如何检测圆点标定板

    摄像机标定常用的标定板除了棋盘格,还有圆点标定板,圆点标定板如图1所示. 图1:圆点标定板 众所周知的是,OpenCV和Matlab没有现成的圆点标定板的检测算法,只有Halcon有该检测算子,遗憾的 ...

  8. 双目立体视觉:四(双目标定matlab,图像校正,图像匹配,计算视差,disparity详解,)

    二郎也比较忙,在某大场工作,有时候没有时间回复. 如果希望二郎尽快帮忙,可以将代码,数据和问题发给二郎,谢谢大家理解. glwang20@mails.jlu.edu.cn 不过还是希望大家自己要好好研 ...

  9. Matlab相机标定并进行图像校正

    Matlab相机标定工具 APP->展开: 图像处理与计算机视觉栏: 相机标定过程 打印一张黑白棋盘,拍摄足够多张照片,以确保之后的合格照片的筛选. 2. 打开Matlab相机标定工具,从文件中 ...

最新文章

  1. 扩增子项目动辄几百上千样品,如何写好实验设计——样品和组命名规则
  2. String和C#中的string有什么区别?
  3. mysql校验字符集
  4. (chap4 IP协议) 路由控制表(Routing Table)
  5. 【人物】互联网教父KK:对未来要有自信,未来是我们的
  6. 如何玩转CSS列表样式?速查!
  7. 【Tyvj - 1305】最大子序和(单调队列优化dp)
  8. java 方法 示例_Java语言环境getISOCountries()方法与示例
  9. 为什么用openstack_如何为OpenStack贡献力量
  10. 奥特曼在银行里下象棋的梗
  11. 【总结】Apache Sentry 服务简介
  12. 最小巧最简单最安全的KMS模拟器vlmcsd,最新支持Win10 server2016和Office2016!
  13. 流式传输的两大主流种类及流式传输特点
  14. img图片加载失败的处理
  15. c代码生成matlab模块,使用 C Caller 模块集成 C 代码
  16. 微软:人工智能迅速崛起,面临着严重的技术短缺
  17. 不修条地铁,都不好意思叫自己大城市(附地铁发展图)
  18. mysql 根据经纬度查询距离
  19. 嵌入式学习笔记-linux应用编程和网络编程-3.2 文件属性
  20. 2020-助你直通大厂前端中高级面试题

热门文章

  1. Firefox的模仿MyIE插件套餐
  2. 张一鸣、王兴、蔡文胜,福建人为什么爱做流量生意
  3. linux网络引导安装windows,pxe启动网络安装CentOS(win平台)
  4. android 设置铃声文件夹在哪里,Android 设置铃声的文件夹
  5. 写mall项目报错Tests run: 1, Failures: 0, Errors
  6. Lattice Diamond与modelsim联合仿真环境设置
  7. 彩色cad怎么转为黑白pdf?
  8. ORBSLAM-Atlas
  9. 【数据可视化】免费开源BI工具 DataEase 之血缘关系分析
  10. DataGrid列自定义显示(模板)