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

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

(一)重建步骤

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

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

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

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

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

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

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

(二)结果展示

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

与标定出来的点的差别:

双目重建的点

标定的点:

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

来个侧写:

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

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

相关推荐
VelinX6 分钟前
【个人学习||spring】spring ai
人工智能·学习·spring
做个文艺程序员13 分钟前
Spring AI 1.1 三件套实战:Structured Output + Tool Calling + Memory 从踩坑到生产落地
java·大数据·人工智能
云烟成雨TD13 分钟前
Spring AI 1.x 系列【21】ToolCallbackProvider 动态工具集成
java·人工智能·spring
双翌视觉17 分钟前
基于机器视觉实现开口卡簧自动化装配
运维·数码相机·自动化
beyond阿亮19 分钟前
OpenClaw接入企业微信
人工智能·ai·企业微信·openclaw
芯智工坊19 分钟前
第4章 Mosquitto命令行工具快速上手
网络·人工智能·mqtt·开源
咚咚王者19 分钟前
人工智能之语音领域 语音处理 第五章 语音处理实践落地与常见问题解决
人工智能
VBsemi-专注于MOSFET研发定制23 分钟前
面向电动车直流快充桩的功率MOSFET选型分析——以高功率密度、高可靠电源与模块化系统为例
人工智能
夏沫の梦24 分钟前
Agent Skills技术详解与实战
人工智能·a·skill
财迅通Ai26 分钟前
科创芯片ETF(589100)大涨超3.5%,AI+涨价潮点燃芯片景气
人工智能·科创芯片etf