首页 > 其他分享 >3.1、matlab双目相机标定实验

3.1、matlab双目相机标定实验

时间:2024-07-20 21:58:03浏览次数:13  
标签:双目 图像 标定 相机 畸变 参数 matlab 3.1

1、双目相机标定原理及流程

双目相机标定是将双目相机系统的内外参数计算出来,从而实现双目视觉中的立体测量和深度感知。标定的目的是确定各个摄像头的内部参数(如焦距、主点、畸变等)和外部参数(如相机位置、朝向等),以便将双目相机捕获的图像转换为三维空间坐标。

双目相机标定的流程如下:

  1. 准备标定板:使用一个已知的平面标定板,其中包含一些已知的特征点,如网格点或棋盘格,用于计算相机的内部参数。

  2. 拍摄图像:在不同的位置和角度下,使用双目相机对标定板进行拍摄,同时确保标定板的特征点能够被双目相机同时看到。

  3. 提取特征点:在拍摄的图像中,使用特定的图像处理算法(如角点检测算法)提取出标定板上的特征点。

  4. 标定内部参数:通过对标定板上的特征点进行分析,计算出相机的内部参数(如焦距、主点、畸变等)。

  5. 标定外部参数:利用双目相机拍摄的多幅图像,通过特定的三维重建算法计算相机的外部参数(如相机位置、朝向等)。

  6. 优化参数:通过优化算法,对计算出的内外参数进行调整,以提高标定的精度和稳定性。

最终的标定结果包括每个摄像头的内部参数和外部参数,这些参数可以用于双目视觉中的立体匹配和三维重建。

2、实验准备

1)棋盘格

棋盘格简介:

棋盘格是一种特定设计的方格图案,通常由黑色和白色交替的正方形组成,这些正方形按照固定的规律排列。棋盘格通常用于机器视觉和计算机视觉中的图像标定和姿态估计。在图像处理中,棋盘格的特定结构和规则排列使其成为一种常用的标定工具。

在双目相机标定中,棋盘格用作标定板,摄像机拍摄棋盘格图案时能够从图像中获取到棋盘格上的特征点,这些特征点可以用于计算相机的内部参数(如焦距、主点、畸变等)和外部参数(如相机位置、朝向等)。

棋盘格简单、易识别,其规则的排列和特征点的明显性使其成为图像处理和计算机视觉中常用的标定工具。

棋盘格规格:20mm*20mm棋盘格,角点7*11

A4纸打印棋盘格(链接PDF文件)

a57b241721164c1cad030008ea1351a9.png

2)双目相机采集棋盘格图像

双目相机简介

双目相机是一种由两个摄像头组成的相机系统,它们通常被放置在一定的距离之间,模拟人类双眼的视觉系统。通过同时拍摄同一场景的两幅图像,双目相机可以实现立体成像,从而让计算机能够进行深度感知、立体视觉和三维重建。

双目相机的工作原理是利用每个摄像头捕捉到的图像之间的视差(即同一点在两个图像中的像素位置差异),根据视差信息计算目标物体的深度信息。在双目成像中,两个摄像头之间的距离(基线长度)越大,捕捉到的视差范围也会增大,从而可以获得更精确的深度信息。

双目相机在机器视觉、智能驾驶、机器人技术、医疗影像等领域有着广泛的应用。它可以提供更加准确的环境信息,帮助计算机进行空间感知、障碍物检测、跟踪和导航等任务。另外,双目相机也被广泛用于计算机视觉中的立体匹配、景深测量、虚拟现实和增强现实等领域。

双目相机采集图像展示:

左侧为彩色相机采集图像/右侧为红外相机采集图像

f7168abc69f44b539cce5f9fcc07a2d0.png

cec07eefc2cc4c169ab055718a092492.png

3、实验过程

实验简介

在MATLAB中进行双目相机标定通常会使用相机标定工具箱(Camera Calibration Toolbox),可以方便的进行内外参数的标定。下面是在MATLAB中使用相机标定工具箱进行双目相机标定的原理和流程:

  1. 安装标定工具箱:首先需要安装MATLAB相机标定工具箱,你可以从MathWorks官网下载安装。

  2. 数据采集:准备一组双目相机的图像数据,包括对准的标定板(如棋盘格)的多幅图像。确保拍摄时两个摄像头能够同时看到标定板。

  3. 特征点提取:使用相机标定工具箱中的函数,提取出标定板上的特征点。

  4. 标定内部参数:利用提取出的特征点数据,使用标定工具箱的函数计算出双目相机的内部参数,例如焦距、主点坐标、畸变系数等。

  5. 标定外部参数:通过提供的图像数据和已知的标定板参数,计算双目相机的外部参数,例如相机位置、朝向等。

  6. 结果优化:对计算出的内外参数进行优化,以提高标定的精度和稳定性。

  7. 输出结果:最后输出标定结果,内部参数和外部参数将被保存在MATLAB中供后续使用。

总之,使用MATLAB中的相机标定工具箱可以比较方便地进行双目相机的标定工作,得到双目相机的内部参数和外部参数,为后续的双目视觉应用提供基础支持。

1)APP

点击app

4a5d611d536b40aeacf63bddaa7b1970.png

点击下拉

b76f3dea8c6445608cbef62dde49dd43.png

点击双目相机标定模块

5265a4da36c44288a5998d0737b0c50e.png

2)数据导入

点击添加图片

1038191473d74ab8b8b064bce62fad35.png

棋盘格边长参数

26c4f5246c8f46718627424d6a72cf6b.png

左右相机视图导入文件夹

e6801f0822144acbb7abf7e2022c5acc.png

3)角点识别

角点识别过程

34f839790a25401090c02a576204ebaf.png

角点识别结果

5500bd3952ba4483aaffac3fe2ec671d.png

4)畸变参数设置

径向畸变和切向畸变参数设置

29290d8a5673483bb6ec18b78a487d8d.png

5)标定

点击标定按钮

b584664e91d54175b5b8fc793400ac6b.png

6)标定结果

初始结果

56f97177ce3b422eaa50656df6725652.png

粗大误差剔除(1/2/3/4为出大误差),鼠标右键删除

 115091158e70449d941b45dfce94d84b.png

剔除后效果

4d52de0011254d01a58b8aada8cc2d2c.png

4、实验结果

结果简介

双目相机标定的结果通常包括以下内容:

  1. 内部参数

    • 标定矩阵(Intrinsic Matrix):包括主点坐标、焦距等信息,描述了相机的内部几何特性。
    • 畸变系数:描述了镜头畸变(径向畸变和切向畸变)的参数,用于纠正图像畸变。
    • 透镜畸变纠正参数(在某些情况下):描述了透镜的畸变情况,用于在后期处理中纠正透镜畸变。
  2. 外部参数

    • 外部旋转矩阵:描述相机坐标系与世界坐标系之间的旋转关系。
    • 外部平移向量:描述相机坐标系相对于世界坐标系的平移关系。
  3. 重投影误差:即标定结果在实际图像上的投影误差,通过重投影误差可以评估标定的准确性。

  4. 立体匹配算法参数(在某些情况下):一些双目相机标定工具箱也会提供立体匹配算法的参数,例如视差范围、最小视差等。

  5. 标定板的尺寸和特征点提取参数:包括标定板的尺寸或特征点的提取方法,有助于在实际使用中保持标定的准确性。

这些标定结果可以帮助后续双目视觉应用中进行立体匹配、三维重建、深度估计等任务。通过正确的标定,可以提高双目相机的测量精度和稳定性,进而提升整个双目视觉系统的性能。

1)视图效果

35bb6a1c268c40c2a5c816b8a37ab27e.png

 2)数据分析

820ca0adbd9d4f99be6731c47396e0b6.png

5、实验资源

1)棋盘格

https://download.csdn.net/download/XU157303764/89354653

2)双目相机标定图像数据

https://download.csdn.net/download/XU157303764/89354868

3)标定结果数据

https://download.csdn.net/download/XU157303764/89354866

6、总结

在MATLAB中进行双目相机标定实验的总结如下:

  1. 数据采集:首先需要准备一组双目相机的图像数据,确保图像中包含对准标定板(如棋盘格)的多幅图像。

  2. 安装标定工具箱:安装MATLAB相机标定工具箱,这样可以方便地使用其中的函数进行双目相机的内外参数标定。

  3. 特征点提取:使用相机标定工具箱的函数提取标定板上的特征点,常用的特征点提取方法包括角点检测、直线检测等。

  4. 标定内部参数:利用特征点数据计算双目相机的内部参数,如标定矩阵和畸变系数,从而纠正图像的畸变。

  5. 标定外部参数:根据已知的标定板参数和图像数据,计算双目相机的外部参数,包括外部旋转矩阵和外部平移向量。

  6. 结果分析:对标定结果进行分析和评估,如计算重投影误差,并根据误差值调整标定参数以提高标定的准确性。

  7. 保存结果:最后将标定得到的内外参数保存起来,以备后续使用。可以将结果保存为MATLAB格式文件,以便在其他MATLAB程序中调用。

  8. 实验总结:总结实验过程中遇到的问题和解决方法,比如标定板的放置方式、图像采集的参数设置等。

通过以上步骤,可以在MATLAB中完成双目相机的标定工作,并得到双目相机的内部参数和外部参数,为后续的双目视觉应用提供基础支持。标定的准确性和稳定性对于后续的立体匹配、三维重建等任务至关重要,因此在实验过程中需要尽可能确保数据的准确性和完整性。

标签:双目,图像,标定,相机,畸变,参数,matlab,3.1
From: https://blog.csdn.net/XU157303764/article/details/139195881

相关文章

  • 1.17、基于竞争层的竞争学习(matlab)
    1、基于竞争层的竞争学习简介及原理竞争学习是一种无监督学习方法,其中的竞争层神经元之间互相竞争以学习输入模式的表示。竞争学习的一个经典模型是竞争神经网络(CompetitiveNeuralNetwork,简称CNN),其核心部分是竞争层,包含多个竞争神经元,它们通过竞争机制来学习输入数据的特征......
  • CuteHttpFileServer(文件共享工具) v3.1
    CuteHttpFileServer/chfs是一个免费的、HTTP协议的文件共享服务器,使用浏览器可以快速访问。与其他常用文件共享方式(如FTP,飞秋,网盘,自己建站)相比,具有使用简单,适用场景更多的优点,在个人使用以及共享给他人的场景中非常方便快捷。软件特色单个文件,核心功能无需其他文件跨平台运行,......
  • 基于Matlab的数据可视化
    基于Matlab的数据可视化一、二维图形的绘制(一)基本图形函数(1)plot函数(2)fplot函数(3)其他坐标系的二维曲线(二)图形属性设置(1)线型、标记、颜色(2)图形标注(支持LaTex中公式、符号的输入)(3)坐标控制二、三维图形的绘制(一)三维曲线(1)plot3()(2)fplot3()(二)三维曲面(1)平面网格数据的生成......
  • 1.31、基于长短记忆网络(LSTM)的发动机剩余寿命预测(matlab)
    1、基于长短记忆网络(LSTM)的发动机剩余寿命预测的原理及流程基于长短期记忆网络(LSTM)的发动机剩余寿命预测是一种常见的机器学习应用,用于分析和预测发动机或其他设备的剩余可用寿命。下面是LSTM用于发动机剩余寿命预测的原理和流程:数据收集:首先收集发动机的传感器数据,例如......
  • MATLAB图像去雾技术研究
    MATLAB图像去雾技术研究摘要随着科技的进步,图像去雾技术在智能交通、视频监控等领域展现出重要的应用价值。本文基于MATLAB平台,深入研究了图像去雾技术,并提出了一种结合暗原色先验与导向滤波的创新方法。该方法通过暗原色先验估算图像的透射率,并利用导向滤波优化透射率图,最后......
  • MATLAB行为分析研究
    MATLAB行为分析研究摘要随着信息技术和数据分析的快速发展,行为分析在多个领域展现出重要的应用价值。本研究聚焦于MATLAB在行为分析中的应用,深入探讨了其数据处理能力、特征提取技术以及行为识别与分类方法。通过对MATLAB基础知识的介绍,结合行为分析的相关理论,本研究详细阐述......
  • MATLAB的脚本功能
    也许你会发现,在MATLAB的命令行窗口写完代码并且保存后,再打开哎,代码全都不见了而且在命令行窗口一旦按了enter键,上面的行的代码就完全修改不了了可以通过布局→命令历史记录→停靠来找回之前输入的代码,但复制太麻烦了因此要利用脚本功能,即后缀名为.m的文件创建脚本文件①......
  • MATLAB的实时脚本功能
    MATLAB普通脚本(.m)文件,只能输入代码,然后在命令行窗口显示结果但实时脚本,不仅可以输入代码,还可以插入图片和公式,且运行结果也可以放进去实时脚本的后缀名为 .mlx创建实时脚本结果为代码运行结果可以在右侧位置,选择代码运行结果放在哪里右侧输出内嵌输出隐藏代码好用......
  • 【MATLAB源码-第149期】基于MATLAB的2ASK,2FSK,2PSK,2DPSK等相干解调仿真,输出各节点波
    操作环境:MATLAB2022a1、算法描述2ASK(二进制幅移键控)、2FSK(二进制频移键控)、2PSK(二进制相移键控)和2DPSK(二进制差分相移键控)是数字调制技术中的基本调制方式,它们在无线通信、数据传输等领域有着广泛的应用。相干解调是这些调制方式中一个重要的解调技术,它要求接收端的本地振......
  • 【MATLAB源码-第147期】基于matlab的QPSK调制解调在AWGN信道,瑞利信道,莱斯信道理论与实
    操作环境:MATLAB2022a1、算法描述四相位移键控(QPSK,QuadraturePhaseShiftKeying)是一种重要的数字调制技术,它通过改变信号的相位来传输数据。与其他调制技术相比,QPSK在相同的带宽条件下能够传输更多的数据,因而在现代通信系统中得到了广泛应用。本文将详细探讨QPSK在高斯白......