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

文章目录


前情提要:

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


相机内参

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

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

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

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

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

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

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

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

获取相机内存数据的方法

棋盘格标定

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

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

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

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

自动相机标定

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

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

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

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

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


未完待续

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

相关推荐
EndingCoder2 小时前
Three.js 与 WebXR:初识 VR/AR 开发
开发语言·前端·javascript·ar·vr
格林威3 小时前
Baumer工业相机堡盟工业相机如何通过YoloV8深度学习模型实现裂缝的检测识别(C#代码UI界面版)
人工智能·深度学习·数码相机·yolo·计算机视觉
开开心心就好3 小时前
PDF转图片工具,一键转换高清无损
服务器·前端·智能手机·r语言·pdf·excel·batch
月阳羊5 小时前
【硬件-笔试面试题】硬件/电子工程师,笔试面试题-50,(知识点:TCP/IP 模型)
经验分享·嵌入式硬件·网络协议·面试·职场和发展
宇钶宇夕5 小时前
图像处理中级篇 [1]—— 彩色照相机的效果与预处理
人工智能·数码相机·计算机视觉
LDAHG145426 小时前
AI绘画模型生成 MZ 日系美感人像/极致cos
经验分享·ai作画·电脑
一起搞IT吧6 小时前
Camera相机人脸识别系列专题分析之十九:MTK ISP6S平台FDNode传递三方FFD到APP流程解析
android·图像处理·人工智能·数码相机·计算机视觉
晨非辰6 小时前
#C语言——学习攻略:深挖指针路线(四续)——函数指针数组--转移表
c语言·开发语言·经验分享·学习·visual studio
草莓熊Lotso6 小时前
【数据结构初阶】--二叉树(五)
c语言·数据结构·经验分享·笔记·其他
shanks666 小时前
【图像处理】直方图均衡化c++实现
c++·图像处理·数码相机