我正在尝试从 .ply 文件创建点云,该文件包含从 Kinect v2 记录的顶点 (vxyzrgb) 及其颜色。到目前为止我尝试过的:
首先我使用MeshLab来检查我的.ply文件是否正确。这是。所以我尝试将 .ply 文件导出为 .obj 以使用 Helix-Toolkits
HelixToolkit.Wpf.ModelImporter
Run Code Online (Sandbox Code Playgroud)
然而,当使用我自己的代码和 Helix-Toolkit 示例中的 ModelViewer 时,这都会给我一个空白屏幕。这可能是因为 ply 文件不包含有关面的信息。
1.有没有一种简单的方法可以从层创建 obj 文件,并在此过程中添加面?
2.是否有另一种 - 可能更好的方法 - 从层文件创建点并使用 Helix 将它们显示在屏幕上?
我试图创建一个使用Microsfot.Kinect.Tools的简单控制台应用程序.我添加了对microsoft.Kinect.Tools.dll的引用.我添加了对应的命名空间using Microsoft.Kinect.Tools;.当我尝试检查库的导入是否正常时,我遇到以下异常:
无法加载文件或程序集"Microsoft.Kinect.Tools"Version = 2.0.0.0,Culture = neutral,PublicKeyToker = ...或其依赖项之一.尝试加载具有不正确格式的程序.
我要做的是创建一个记录.xef文件的函数:
public void writeXefFiles(String filePath)
{
using (KStudioClient client = KStudio.CreateClient())
{
client.ConnectToService();
...
}
}
Run Code Online (Sandbox Code Playgroud)
然而,似乎我根本无法调用该函数(异常正在上升).
我在 Windows 上的 Node 环境中工作。我的代码Buffer每秒接收 30 个对象(每个约 500-900kb),我需要尽快将这些数据保存到文件系统中,而不进行任何阻止以下接收的工作Buffer(即目标是保存每个缓冲区中的数据,大约 30-45 分钟)。就其价值而言,数据是来自 Kinect 传感器的连续深度帧。
我的问题是:在 Node 中写入文件的最佳方式是什么?
这是伪代码:
let num = 0
async function writeFile(filename, data) {
fs.writeFileSync(filename, data)
}
// This fires 30 times/sec and runs for 30-45 min
dataSender.on('gotData', function(data){
let filename = 'file-' + num++
// Do anything with data here to optimize write?
writeFile(filename, data)
}
Run Code Online (Sandbox Code Playgroud)
fs.writeFileSync似乎比 快得多fs.writeFile,这就是我在上面使用它的原因。但是有没有其他方法可以对数据进行操作或写入文件以加快每次保存的速度?
我是OpenNI的新手.当我使用Visual Studio 2010 c ++尝试OpenNI示例时,我遇到了以下错误:
1>kinect_first_try.obj : error LNK2001: unresolved external symbol __imp__xnContextRegisterForShutdown
1>kinect_first_try.obj : error LNK2001: unresolved external symbol __imp__xnContextAddRef
1>kinect_first_try.obj : error LNK2001: unresolved external symbol __imp__xnContextRelease
1>kinect_first_try.obj : error LNK2001: unresolved external symbol __imp__xnContextUnregisterFromShutdown
1>kinect_first_try.obj : error LNK2001: unresolved external symbol __imp__xnForceShutdown
1>kinect_first_try.obj : error LNK2001: unresolved external symbol __imp__xnInit
1>kinect_first_try.obj : error LNK2001: unresolved external symbol __imp__xnGetStatusString
1>kinect_first_try.obj : error LNK2001: unresolved external symbol __imp__xnGetRefContextFromNodeHandle
1>kinect_first_try.obj : error LNK2001: unresolved external symbol __imp__xnProductionNodeAddRef
1>kinect_first_try.obj : error …Run Code Online (Sandbox Code Playgroud) 我正在阅读许多不同的东西,似乎每天都有越来越多的端口出现,但是用于开发XBox Kinect的最简单(非移植)语言是什么?
我读过C#,C++和Java.我正在学习Processing和Paperscript,因为OpenFrameworks对于我目前的水平和过时的XCode来说有点太难了(由于界面的不同,我无法遵循指南).因此,虽然我正在考虑在社区学院学习C++或Java课程,但我不确定哪一个更适合用Kinect做事.
我正在使用Microsoft Kinect SDK,我想知道是否有可能获得深度帧,颜色帧以及30fps的所有帧的骨架数据?使用Kinect Explorer我可以看到颜色和深度帧几乎是30fps,但是一旦我选择了骨架的视图,它就会下降到15-20fps左右.
我正在创建一个WPF/C#应用程序,它使用kinect来移动对象,但它也可以使用鼠标运行.目前我使用鼠标注释掉它的kinect代码.我需要知道kinect是否已连接,所以我不需要注释代码,因为它不能使用鼠标(没有像现在这样抛出异常),并且当它发生时使用kinect.我该怎么办?info:我正在使用官方的Microsoft Kinect SDK(大约一周前下载)
编辑 - 我正在使用这些
using System;
using System.ComponentModel;
using System.Threading;
using System.Windows;
using System.Windows.Media;
using System.Windows.Input;
using System.Windows.Media.Media3D;
using System.Windows.Media.Animation;
using System.Windows.Controls;
using System.Windows.Media.Imaging;
using GridAnimationDemo;
using System.Windows.Threading;
using HtmlAgilityPack;
using System.Xml.Linq;
using System.IO;
using System.Linq;
using System.Collections.Generic;
using System.Net;
using Microsoft.Research.Kinect.Nui;
using Microsoft.Research.Kinect.Audio;
using Microsoft.Research.Kinect;
using Microsoft.Office.Interop.PowerPoint;
using System.Windows.Data;
using Microsoft.Research.Kinect.Samples.CursorControl;
using Coding4Fun.Kinect.Wpf;
using Coding4Fun;
using System.Speech.Synthesis;
Run Code Online (Sandbox Code Playgroud)
无法添加引用并使用Microsoft.Kinect,因为它会与其中一些产生冲突
编辑 -
Device dvc = new Device();
if (dvc.Count.Equals(0))
MessageBox.Show("apoellin");
Run Code Online (Sandbox Code Playgroud)
我尝试了上面的代码和应用程序崩溃同样的错误它崩溃如果我使用任何Kinect代码与Kinect没有连接
我有一个很大的内存泄漏,我需要一些帮助来找出它来自哪里.首先,关于代码的一些理论:
这是一个Kinect项目.它是在MS Visual Studio 2012中构建的MFC项目,它使用Direct2D将图像放在屏幕上.当我从Kinect 1切换到Kinect 2时会发生此问题.然后重建除"主"对象之外的每个对象(解构/释放并置为NULL(如果指针)).这包括:
对于每个新关键字,我在析构函数中使用了delete关键字(所以我没有做任何事情来破坏那些没有用new初始化的指针).我关闭了所有线程处理程序并将它们设置为NULL.
现在我有内存泄漏,我需要一些帮助找到它.我开始使用MS MFC工具
初始化后我有一些输出:
Dumping objects ->
{402} normal block at 0x1531E8F0, 28 bytes long.
Data: << @ > 3C 07 06 00 F0 00 00 00 40 01 00 00 00 05 00 00
{401} normal block at 0x152F6CD8, 96 bytes long.
Data: < > > 00 CD CD CD 3E 07 06 00 D0 04 00 00 D8 17 00 00
{400} normal block at 0x03EA0040, …Run Code Online (Sandbox Code Playgroud) 引自Windows:
如果您是软件开发人员,可以将Kinect for Xbox 360与计算机一起使用来测试您正在使用的软件.但是,要获得完整的Kinect for Windows体验,我们建议您下载Kinect for Windows SDK并将其与Kinect for Windows一起使用.
问题1:如果我想开始使用Kinect SDK和Visual Studio开发,Kinect for Xbox 360是否可以工作(而不是更新的Kinect 2 for Xbox One)?我知道它缺少Windows版本的一些功能.
问题2:在上面的声明中,当Windows声明使用Xbox 360 Kinect进行"开发"时,开发意味着什么?更具体地说,我是否可以完全开发我的应用程序,测试它,并使用Xbox 360 Kinect运行它并且无法发布它?或者,我是否只有一些功能,但无法使用我的应用程序运行Xbox 360 Kinect并被迫购买Windows版本?
对不起,这是一个很长的问题.过去一周我一直在研究这个项目,我觉得Kinects与它们可以用于开发的程度之间的差异是非常模糊的.此外,许多信息已经过时,与Xbox One和Xbox 360 Kinect以及Kinect SDK有关.
有关Stack Overflow上的操作系统版本的问题,但没有关于Windows名称的问题,我希望找到使用Node.js的Windows名称.
我已经看着像这么多的模块os,platform,getos和使用process等,发现这些都有助于使获得操作系统说明,工艺环境等.我能得到它是Linux或Windows过我即使用该平台.
但是,我如何检查,是使用Node.js在我的系统上安装的Windows 7还是8?
我kinect2在我的Node.js项目中使用模块,它在Windows 8上工作正常,但我希望在Windows 7上使用它.
我已经检查过Kinect2不适用于Windows 7.
kinect ×10
c# ×3
c++ ×2
kinect-sdk ×2
node.js ×2
file-io ×1
javascript ×1
kinect-v2 ×1
memory-leaks ×1
mfc ×1
node-modules ×1
openni ×1
optimization ×1
point-clouds ×1
wpf ×1
writefile ×1
xaml ×1
xbox-one ×1
xbox360 ×1