【问题标题】:Error adding gesture to visual gesture builder frame source with kinect v2使用 kinect v2 向视觉手势构建器框架源添加手势时出错
【发布时间】:2015-07-05 15:37:26
【问题描述】:

使用 Visual Gesture Builder 创建手势数据库后,我正在尝试编写自己的项目来检测手势。 在看到 SDK 浏览器附带的“DiscreteGestureBasics-WPF”示例后,我尝试编写自己的代码,但是当我尝试将手势添加到“视觉手势生成器框架源”对象时,我得到了一个异常:

“'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);
            }
     }

希望你能帮助我..

【问题讨论】:

标签: c# kinect gesture kinect-sdk


【解决方案1】:

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

将您的 'x64' 值替换为 '$(Platform)' 并查看错误是否仍然存在。

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

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

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

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

来源:个人经验。自从 Kinect V2 推出以来,我一直在使用手势识别示例和我自己的代码。

【讨论】:

    【解决方案2】:

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

    复制到输出目录:总是

    创建操作:内容

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多