首页 > 解决方案 > 显示点云连续 c# Intel Realsense

问题描述

这可能是我之前关于在 c# 中使用 Helix 工具包显示 ply 文件的问题的延续。我对该解决方案的问题是它不是连续的,如果制作了 ply 文件,它会大大降低程序的速度。我制作点云的代码如下:

// CopyVertices is extensible, any of these will do:
                            var vertices = new float[points.Count * 3];
                            // var vertices = new Intel.RealSense.Math.Vertex[points.Count];
                            // var vertices = new UnityEngine.Vector3[points.Count];
                            // var vertices = new System.Numerics.Vector3[points.Count]; // SIMD
                            // var vertices = new GlmSharp.vec3[points.Count];
                            //  var vertices = new byte[points.Count * 3 * sizeof(float)];
                            points.CopyVertices(vertices);

层文件由以下行制成:

points.ExportToPLY("pointcloud.ply", colorFrame);

helix 工具包是这样使用的:

                Model3DGroup model1 = import.Load("pointcloud.ply");
                model.Content = model1;

其余代码就像 librealsense 的 C# 包装器: https ://github.com/IntelRealSense/librealsense/tree/master/wrappers/csharp 有人知道如何使这个点云显示连续吗?

标签: c#helix-3d-toolkitrealsense

解决方案


您使用的是 HelixToolkit.Wpf 还是 HelixToolkit.SharpDX.Wpf?

如果您的点云很大,请尝试使用 HelixToolkit.SharpDX 版本。

在进行持续更新时也要尽量避免导出和导入。您可以将点云直接转换为 helixtoolkit 支持的点格式并更新点模型。


推荐阅读