使用kinect v2向可视化手势构建器框架源添加手势时出错

时间:2015-07-05 15:37:26

标签: c# kinect gesture kinect-sdk

使用Visual Gesture Builder创建手势数据库后,我试图编写自己的项目来检测手势。 看完" DiscreteGestureBasics-WPF"的例子后随着SDK浏览器的出现,我尝试编写自己的代码,但是当我试图将手势添加到"视觉手势构建器框架来源时,#34;对象,我得到了例外:

  

"类型' System.InvalidOperationException'的第一次机会异常   发生在Microsoft.Kinect.VisualGestureBuilder.dll"

我已在后期制作活动中添加了行"xcopy "$(KINECTSDK20_DIR)Redist\VGB\x64\vgbtechs" "$(TargetDir)\vgbtechs" /S /R /Y /I" 但它仍无法正常工作。

如果我使用kinect sdk附带的示例,一切正常,但是当我尝试编写自己的项目时,它根本不工作。 我在他们的项目上测试我的自定义数据库并且它正在工作。

这是代码不能正常运行的行:

     foreach (Gesture gesture in database.AvailableGestures)
     {
         if (gesture.Name.Equals(this.hands) || gesture.Name.Equals(this.handsUp))
            {
                    this.vgbFrameSource.AddGesture(gesture);
            }
     }

希望你能帮帮我..

2 个答案:

答案 0 :(得分:1)

使用提供的信息回答这个问题有点困难,但是,我确实在Post-build事件命令行中看到了错误。您明确指定了一个平台 - x64 - 并且您的项目是在x86或Win32配置下构建的,因此这将导致dll不匹配并且无法正常工作。

替换你的' x64' ' $(平台)'的价值并查看错误是否仍然存在。

另外,我会检查构建目录中的两个文件 -

  • Microsoft.Kinect.VisualGestureBuilder.dll
  • Microsoft.Kinect.VisualGestureBuilder.xml

当您添加对Microsoft.Kinect.VisualGestureBuilder的引用时,应自动复制这两个,但只需确保它们在那里。

如果您已创建自己的手势数据库文件,则可以尝试使用示例代码附带的手势数据库运行代码,并查看会发生什么。

来源:个人经历。自从Kinect V2问世以来,我一直在使用Gesture识别样本和我自己的代码。

答案 1 :(得分:1)

尝试在vs中设置.gbd文件属性,如下所示:

复制到输出目录:始终

创建操作:内容