开放式简历; C++;从线性三角剖分法的矩阵中提取点云点(x,y,z)

Posted

技术标签:

【中文标题】开放式简历; C++;从线性三角剖分法的矩阵中提取点云点(x,y,z)【英文标题】:Opencv; c++; Extract point cloud points (x,y,z) from out Matrix of Linear Triangulation method 【发布时间】:2012-09-21 03:18:18 【问题描述】:

我正在尝试在 xna 中重建 3D 对象。我需要点云点。我在未校准的图像序列下实现了这个概念,用于 3d 重建。我现在坚持使用线性三角测量。结果,我对矩阵有价值。我下一步要获取 (x,y,z) 点列表以绘制网格。

【问题讨论】:

My Reconstruction Pipe Line for uncaliberarared images 如下 1) 使用 SURF 匹配特征并得到对应点。 2) 使用对应点计算基本矩阵。 3)从基本矩阵计算相机矩阵(返回相机矩阵基于Hartley和Zisserman的“多视图几何”) 4)然后线性三角测量,Opencv有triangulatePoints方法。我用这种方法来划分点。它返回一个 Matrix 值。到目前为止,这是我已经实施的。这是正确的吗?我下一步要做什么?我被困在三角点矩阵中。 【参考方案1】:

查看triangulatePoints的documentation,它返回一个矩阵,其中包含每个三角化3D点的齐次坐标,即4 x N矩阵。

将此矩阵表示为M,第n个点的XYZ坐标是(概念上)

x = M(0,n) / M(3,n)
y = M(1,n) / M(3,n)
z = M(2,n) / M(3,n)

请确保您了解homogeneous coordinates,然后再考虑使用 3D 重建进行任何操作!

【讨论】:

以上是关于开放式简历; C++;从线性三角剖分法的矩阵中提取点云点(x,y,z)的主要内容,如果未能解决你的问题,请参考以下文章

矩阵分解

计算机是怎么求解线性方程的(矩阵乘和求逆)

矩阵——LU分解

SciPy Delaunay三角剖分改变了单纯形的多个点,以实现参数的微小变化

矩阵中有未知数,怎么变为上三角矩阵

怎么去解多元一次方程组快