【发布时间】:2017-04-27 00:39:06
【问题描述】:
您好,我最近遇到了 vitruvius,想在一个 wpf 项目中实现他们的插件以使用 kinect 手势,但即使使用他们的教程也无法实现,如下所示。
已经按照每个步骤下载了他们的示例工作代码,但他的这个错误消息会显示在下面。
Click here to see the error message Image on Visual Studio
完整的错误信息如下所示。
严重性代码描述项目文件行抑制状态 警告 处理器架构之间存在不匹配 正在建设的项目“MSIL”和处理器架构 参考“LightBuzz.Vitruvius,版本=1.0.0.0,文化=中性, processorArchitecture=AMD64", "AMD64"。这种不匹配可能会导致运行时 失败。请考虑更改目标处理器架构 您的项目通过配置管理器,以便对齐 您的项目和参考之间的处理器架构,或采取 依赖于具有匹配处理器架构的参考 项目的目标处理器架构。测试2
MainWindow.xaml.cs 文件中编写的代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using Microsoft.Kinect;
using LightBuzz.Vitruvius;
namespace test2
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
KinectSensor _sensor;
MultiSourceFrameReader _reader;
GestureController _gestureController;
public MainWindow()
{
InitializeComponent();
_sensor = KinectSensor.GetDefault();
if (_sensor != null)
{
_sensor.Open();
_reader = _sensor.OpenMultiSourceFrameReader( FrameSourceTypes.Body);
_reader.MultiSourceFrameArrived += Reader_MultiSourceFrameArrived;
_gestureController = new GestureController();
_gestureController.GestureRecognized += GestureController_GestureRecognized;
}
}
void Reader_MultiSourceFrameArrived(object sender, MultiSourceFrameArrivedEventArgs e)
{
var reference = e.FrameReference.AcquireFrame();
// Body
using (var frame = reference.BodyFrameReference.AcquireFrame())
{
if (frame != null)
{
Body body = frame.Bodies().Closest();
if (body != null)
{
_gestureController.Update(body);
}
}
}
}
void GestureController_GestureRecognized(object sender, GestureEventArgs e)
{
lbGesture.Content = e.GestureType.ToString();
}
}
}
真的希望有人可以帮助解决这个问题!提前谢谢你。
【问题讨论】:
标签: c# wpf kinect kinect-sdk