使用kinect v2将手势添加到视觉手势生成器帧源时出错

本文关键字:出错 v2 kinect 添加 使用 视觉 | 更新日期: 2023-09-27 18:01:03

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

"类型为System.InvalidOperationException的首次机会异常"出现在Microsoft.Kinect.VVisualGestureBuilder.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);
            }
     }

希望你能帮助我。

使用kinect v2将手势添加到视觉手势生成器帧源时出错

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

将"x64"值替换为"$(Platform(",并查看错误是否仍然存在。

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

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

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

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

资料来源:个人经历。自从Kinect V2问世以来,我一直在研究手势识别的样本和我自己的代码。

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

复制到输出目录:始终

创建操作:内容