基于视觉重定位的室内AR导航APP的大创项目思路(3)手机相机内参数据获取和相机标定

文章目录


前情提要:

是第一次做项目的小白,文章内的资料介绍如有错误,请多包含!


相机内参

相机内参是本身的物理数据,包括焦距f和缩放c,一般以矩阵K的形式存放和使用

为什么要获取相机的内参数据:

1.相机的内参数据在建图的时候就需要使用,SLAM中需要根据相机内参数据结合传入的图像数据等进行建图,不然无法根据2D图像建立三维点云地图。

bash 复制代码
如果使用的是SFM技术构建三维点云地图,运动结构恢复,就无相机内参数据

2.在进行视觉重定位的时候,无论是几何方法还是图像检索方法,都需要当前传入输入数据的相机的内参来进一步计算得出当前的位姿信息。

因此,获取当前相机的内参数据是必不可少的。

如果不了解什么是几何方法或是图像检索方法,可以看看这篇文章:基于视觉重定位的室内AR导航APP的大创项目思路(2):改进的项目思路------建图和定位分离

由于项目的预期搭配设备是手机,因此需要解决的问题变为了如何获取手机相机的内参数据。

获取相机内存数据的方法

棋盘格标定

目前主流的获取相机内参数据的方法是:使用棋盘格进行相机标定(张正友棋盘格标定法)。

但是对于这个项目来说,这个方法是无法在项目的全部流程中使用的。

你可以在建图时使用这个标定方法获取建图时的手机的相机内参,但是在定位导航时,你是无法要求用户在使用一个app的时候,还要专门购买一个标定板进行相机标定的。

项目思路2中提到了建图和定位分离的思想,因此我们并非要完全舍弃标定板标定,而是只在建图时使用这种方法,定位导航时另寻他法。

自动相机标定

使用棋盘格标定获取的相机内参数据是较为准确的,要不是别无选择,使用这种准确的数据进行相机重定位是最好的。

项目思路1中,我提到过使用过一个ORB-SLAM3的安卓端移植APP,这个APP在进行建图的时候是无需进行相机标定的。

那么必然存在一种或是多种无需进行标定板标定就能获取相机内参数据的方法,尽管数据可能不如使用标定板进行相机标定那么准确。

在经过一系列的搜寻和确定后,目标的关键词变为了:自动相机标定

而自动相机标定的方法有很多种,后文展开再讲


未完待续

如果你觉得这篇文章写的不错,多多点赞~收藏吧!

相关推荐
好家伙VCC8 分钟前
**标题:发散创新:探索AR开发框架的核心技术**随着增强现实(AR)技术的飞速发展,AR开发框架成为了开发者们关注的焦
java·ar
明天再做行么17 分钟前
公考面试资料合集
经验分享
格林威2 小时前
常规的变焦镜头有哪些类型?能做什么?
人工智能·数码相机·opencv·计算机视觉·视觉检测·机器视觉·工业镜头
格林威4 小时前
机器视觉的工业镜头有哪些?能做什么?
人工智能·深度学习·数码相机·算法·计算机视觉·视觉检测·工业镜头
云风xe4 小时前
从chatGPT获取的关于相机焦距与其他参数的关系
数码相机
聪明的笨猪猪5 小时前
Java Spring “核心基础”面试清单(含超通俗生活案例与深度理解)
java·经验分享·笔记·面试
SccTsAxR6 小时前
[初学C语言]关于scanf和printf函数
c语言·开发语言·经验分享·笔记·其他
nnnnichijou6 小时前
Qt Qml Drag and Drop-鼠标拖动添加组件
经验分享·qt
TeleostNaCl6 小时前
如何在 Windows 上使用命令设置网卡的静态 IP 地址
网络·windows·经验分享·网络协议·tcp/ip·ip
弘毅 失败的 mian7 小时前
STM32 GPIO实战:LED与按键控制
经验分享·笔记·stm32·单片机·嵌入式硬件