立体相机镜面重建(二)双目立体镜面重建

使用双目相机,配合镜子、屏幕,可以直接获得镜面的三维数据,无需先验知识。因此使用双目镜面重建方式对镜子表面进行重建。

(一)重建步骤

使用左相机光线法来计算镜面点:

1.取一个像素点,计算其与左相机中心所构成的方向线,并计算出来该点加畸变之后的像素位置。

2.使用在左图像上加畸变的像素位置,根据双线性插值方法计算出来相位值。并计算该像素值在屏幕上的位置,根据屏幕到左相机的相对位置,计算出来屏幕坐标在左相机中的空间位置。

3.按照1中所计算的方向线,以一定的步长计算三维点,由于该点在左相机坐标系下,可以根据该点的方向、屏幕坐标在左相机坐标系下的坐标点 计算该点的法向了。

4.把该按步长计算出来的三维点,根据左右相机的变换关系,变换到右相机坐标系下,然后投影到右相机中,得到带畸变的图像点,使用该图像点内插出来相位值,并对应到屏幕上该点的屏幕坐标。

5.把屏幕坐标根据 屏幕到左相机的变换关系 变换到左相机坐标系下,得到一个点。该点与 步长点、右相机投影中心构成了一个反射光路,就可以根据这三个点计算在右相机下的该点在左相机中的法线了。

6.选择能够使 两个法线acos值最小的 步长对应点,就可以作为镜面点。

(二)结果展示

1.用标定板的格网点 在左相机的像素点 计算出来的镜面点

与标定出来的点的差别:

双目重建的点

标定的点:

找了半天原因,发现使用比例来计算相位值对应的屏幕值可以茶道几个像素,所以导致了这个误差,打算后续修正一下这个近似系统误差。

来个侧写:

看来精度还是需要进一步提升的。

2.用用标定板的格网点 在左相机的像素点最大x\y和最小x\y所确定的区域,重建镜面

相关推荐
冬奇Lab20 分钟前
开源项目第222期:security-audit — Cloudflare 的安全审计 Skill,把 Coding Agent 变成六阶段安全审计器
人工智能·开源·资讯
卤煮最下饭28 分钟前
在眼镜上背单词:一个 AIUI 对话式智能体的诞生
人工智能
Java后端的Ai之路35 分钟前
Python进阶探索17 - Python中的深拷贝与浅拷贝
人工智能·python·ai·浅拷贝·深拷贝
知识分享小能手1 小时前
深度学习学习教程,从入门到精通,深度生成模型 —— 知识点详解与代码实现(20)
人工智能·深度学习·学习
hzxxxz1 小时前
26%的研发交给AI之后-人的位置换到了哪里
人工智能
m0_587383001 小时前
深圳24小时自助健身房系统软件开发实战:架构设计与部署指南
人工智能·数据挖掘·系统架构·需求分析
Joy T1 小时前
Spring AI 2.0 Agent 进阶:Memory、State 与 Context Engineering 常见技术全景
java·人工智能·后端·spring·agent入门·agent state
估值探索者1 小时前
【Python量化系统工程化 #08】关了 SSH 就停?systemd 让脚本开机自启 + 异常自动拉起
java·c++·人工智能·分类·数据挖掘
西柚研究生1234561 小时前
论文分析17:YOLOv11_UAVNet:无人机航拍图像专用目标检测算法
人工智能·python·深度学习·算法·目标检测
m4Rk_1 小时前
【论文阅读】Agent 记忆机制(74):CompassMem——从相似度检索走向事件图上的记忆导航
论文阅读·人工智能·学习·开源·github