许多问题涉及从深度或深度生成法线,但是我想问一种简单的方法来生成所有给定图像深度和法线的平面曲面。
我已经有深度和正常的每个像素在图像中。对于每个像素的(ui, vi),假设我们可以得到它的三维坐标(xi, yi, zi)和zi作为深度和法线矢量(nix, niy, niz)。因此,由:nix(x - xi) + niy(y - yi) + niz(z - zi) = 0.定义一个唯一的切平面,然后,对于每个像素,我们可以通过上述方程定义一个唯一的平面。
f这样的f(u, v) = (x, y, z) (从像素到3D坐标)中,有什么常见的做法?针孔模型(加上深度数据)是一个有效和准确的模型吗?发布于 2019-04-24 07:37:43
O(n.log(n)),其中n是点数。(nx,ny,nz)是组的正常值(单位向量),(x,y,z)是点位置。因此,您只需从一个已知的点计算d (其中一个被选中的(x0,y0,z0) ).
D= -x0*nx -y0*ny -z0*nz
然后只需测试哪些点使这个条件饱和:
(x*nx+ y*ny + z*nz + d) <=阈值
现在从组中移除匹配的点(将它们移动到已找到的平面对象中),并再次在其余的点上应用此子弹,直到它们计数较低或找不到有效的平面。
然后测试另一组直到没有剩下的组..。我认为RANSAC可以加快速度以避免在这种情况下使用暴力,但我从未使用过它,所以谷歌.
发布于 2019-04-24 08:40:45
对于平面来说,一种可能的方法是考虑一组法向量并对它们进行聚类(例如,通过k-均值)。然后,每个簇可以对应于几个平行曲面。通过计算离原点的距离(一个标量函数),你可以形成子簇,将这些表面分开。最后,在恒定距离上的点可以属于不同的共面贴片,您可以通过连通的组件标记来将它们分开。
在法线向量和距离上同时进行聚类(因此在4D空间中)可能会产生更好的结果和更简单的结果。一定要对向量进行规范化。另一种选择是仅用两个参数(如球面角度)表示向量,但这将导致相当不均匀的映射,并产生相位包装问题。
https://stackoverflow.com/questions/55822712
复制相似问题