【发布时间】:2015-01-18 09:11:44
【问题描述】:
我是 MATLAB 新手,刚开始研究 Stereo Vision。在对场景进行 3D 立体重建后,从我获得的点云中,我想忽略所有值为 NaN 或 Inf 的坐标。
为此,我遵循以下程序:
对于尺寸为 40 X 40 的图像,点云是 40 X 40 X 3 的矩阵。(3 因为 3D;X、Y 和 Z 坐标)。
从 3D 点云 (40 X 40 X 3),我重新获得一个尺寸为 1600 X 3 的矩阵。3 列中的每一列对应于 X、Y 和 Z 坐标
在这一步,如果我发现任何 Inf 或 NaN 元素,我会尝试删除整行。
例如,在连接步骤之后,如果我有一个矩阵 A
A = [1, 11, 21;南,12, 22; 3、13、Inf;南,14,南; 5、Inf、NaN; 6, 16, 26];
我想消除所有包含 Inf 或 NaN 元素的行。
所以预期的结果是:[1, 11, 21; 6, 16, 26];
由于我将处理尺寸为 4000 X 3000 的图像,因此我想要一种非常快速有效的方法。
我这样做是为了在我获得的点云中拟合一个平面(最佳拟合)。拟合平面的函数不采用 Inf 和 NaN 值。所以即使找到一个 NaN 值,也必须消除所有对应的 X、Y 和 Z 坐标。
如果除了我目前正在做的事情之外还有更好的方法可以做到这一点,请告知。
谢谢你=)
【问题讨论】:
标签: matlab image-processing matlab-cvst point-clouds stereo-3d