c# - C#中的Helix Toolkit显示层点云
问题描述
我在这个 wrapper的帮助下制作了一个 ply 文件。
我如何制作层文件如下所示:
using (var frames = pipeline.WaitForFrames())
{
var colorFrame = frames.ColorFrame.DisposeWith(frames);
var depthFrame = frames.DepthFrame.DisposeWith(frames);
var points = pc.Process(depthFrame).As<Points>();
// We colorize the depth frame for visualization purposes
var colorizedDepth = colorizer.Process<VideoFrame>(depthFrame).DisposeWith(frames);
// 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);
// Render the frames.
cloudPoints = importer.Load(@"pointcloud.ply");
}
现在我想使用代码显示它:
private void Create3DViewPort()
{
var hVp3D = new HelixViewport3D();
var lights = new DefaultLights();
HViewPort.Children.Add(lights);
HViewPort.Children.Add(cloudPoints);
this.AddChild(HViewPort);
}
但我在线上得到错误HViewPort.Children.Add(cloudPoints);
。它是说:
它无法将 Systems.Windows.Media.Media3D.Model3D 转换为 Systems.Windows.Media.Media3D.Visual3D。
有人可以帮助我如何使用 helix 工具包显示点云吗?
解决方案
我不知道这是否是这样,但我可以在 ply 文件中显示点云。编码:
Model3DGroup model1 = import.Load("pointcloud.ply");
model.Content = model1;
XAML:
<HelixToolkit:HelixViewport3D Grid.ColumnSpan="1" Grid.Column="1" Margin="2.4,1,0,-0.4" >
<HelixToolkit:HelixViewport3D.Camera>
<PerspectiveCamera />
</HelixToolkit:HelixViewport3D.Camera>
<HelixToolkit:DefaultLights></HelixToolkit:DefaultLights>
<ModelVisual3D x:Name="model"></ModelVisual3D>
</HelixToolkit:HelixViewport3D>
推荐阅读
- bash - 将混淆的密码存储在 bash 变量中以稍后写入文件
- python - 将行中的数据框值替换为下面行的值
- php - react-native 和 PHP(CodeIgniter) 作为后端的图像上传问题
- c# - 单击任务栏图标 wpf 时在辅助监视器上正确调整大小
- python - django 类型的问题
- spring-boot - 将运行时配置从 springboot 传递到 Vue 应用程序
- r - 根据分组变量分配唯一颜色
- vue.js - 来自 vuex store getter 的值未在组件中更新
- android - Kotlin 图像压缩实现
- magento - 如何在安装了 Ultimo 主题的情况下从 Magento 2.2 升级到 2.3?