Непрерывное отображение облака точек С# Intel Realsense

Возможно, это продолжение моего предыдущего вопроса об отображении файла ply с помощью инструментария Helix в С#. Проблема, с которой я столкнулся с этим решением, заключается в том, что оно не является непрерывным, и если создается файл слоя, это сильно замедляет работу программы. Мой код для создания облака точек выглядит так:

// 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);

И файл ply создается строкой:

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

Набор инструментов Helix используется следующим образом:

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

остальная часть кода похожа на C#-оболочку librealsense: https://github.com/IntelRealSense/librealsense/tree/master/wrappers/csharp Кто-нибудь знает, как сделать отображение этого облака точек непрерывным?


person Xander Vreeswijk    schedule 08.10.2020    source источник
comment
Что вы подразумеваете под непрерывным в этом контексте? Облако точек — это просто набор отдельных точек. Вы хотите реконструировать поверхность из облака точек? то есть создание сетки из него?   -  person JonasH    schedule 08.10.2020


Ответы (1)


Вы используете HelixToolkit.Wpf или HelixToolkit.SharpDX.Wpf?

Попробуйте использовать версию HelixToolkit.SharpDX, если ваше облако точек большое.

Также старайтесь избегать экспорта и импорта при постоянном обновлении. Вы можете преобразовать облако точек непосредственно в формат точек, поддерживаемый helixtoolkit, и обновить модель точек.

person Lance H    schedule 08.10.2020
comment
Я попытался преобразовать свое облако точек в точки, поддерживаемые helixtoolkit, но helixtoolkit поддерживает только точки PointsVisual3D. Я что-то упускаю из виду? - person Xander Vreeswijk; 13.10.2020