我的每一行都有一个大型的3D点云文件,其格式为
x(1)y(1)z(1)g(1)
...
...
x(n)y(n)z(n)g(n)
现在由于cpu功率限制我无法显示所有3D点并且只想选择它的子集。只说五分之一。
如果我执行以下操作
while (){
if x(i) % 5 == 0 keep the 3d point
}
结果得到zibera模式,所以看起来不太好看。您建议选择哪种算法来形成点子集以形成与原始密集点云最相似的子3D点云?
谢谢
语言并不重要(matlab,java c等)重要的是我们如何制作原始版本的稀疏版本。
答案 0 :(得分:2)
作为第一个答案中提到的随机子采样的替代方法,您可以尝试这样做:
答案 1 :(得分:0)
随机子采样有什么问题吗?
f = fractionOfDataToKeep(); // between 0 (0%) and 1 (100%)
while() {
r = rng(1.0); // pseudorandom number between 0 and 1
if (r < f) keepThe3DPoint()
}