直到昨天下午才在我的电脑上使用了Kinect for XBOX 360,这是一款2011年末的MacBook Pro 15,其规格可用here。我使用的是Windows 7(本机安装,不使用虚拟机)。我安装的SDK版本是1.0。
突然间,从今天开始,Kinect不再有效。最初我认为这是我的代码中的一些错误,但我注意到程序在开始时仍然停留在我调用方法KinectSensor.Start()
时。
我开始在互联网上寻找信息。我读到了通过重新安装驱动程序获得的解决方案。它不起作用,然后我尝试安装SDK的1.6版本。不幸的是,即使这样也行不通。
我在这个阶段看到,某些USB主机控制器可能存在兼容性问题,例如Intel 5系列/ 3400系列芯片组USB主控制器。然而,在我的情况下,应该没有问题(因为昨天没有问题):
要检查问题是否真的是由传感器造成的,而不是我的应用程序,我运行SDK提供的一个测试应用程序,名为 Kinect Explorer 。但是,我遇到了与此测试应用程序相同的问题。等待大约一分钟后,当Kinect Explorer启动时,我既看不到颜色流,也看不到深度流,也看不到有关骨架的信息。我唯一能做的就是上下移动Kinect,改变颈部的角度。即使麦克风阵列似乎也能正常工作。
我读了两篇关于此类问题的有趣帖子:this和this,但尚未得到解答。
在这两个链接的第一个中,报告问题的用户说硬件已被盗用。我自己也想过同样的事情,直到我再次启动Kinect Explore,最初将传感器拔掉。启动此程序后,我插入电缆,我注意到Kinect Explorer已将Kinect传感器标记为已连接。在短暂的初始化阶段之后,我再次看到颜色流,而深度流显示了均匀颜色的图像(绿灰色):
这种情况持续了几秒钟,之后图像被锁定,问题出现了。此外,有时FPS值从30降至29。
只有在将Kinect拔掉一段时间后才能重现后一种情况(10分钟就足够了)。
我怎样才能解决这个奇怪而可怕的问题?是否可以恢复Kinect传感器,并使其再次工作?或者我必须得出传感器无法挽回的结论?