Kinect 一代的问世是具有历史意义,自此深度摄像头进入了普通消费者的视野。它本是微软 Xbox 360 游戏机的一个外设,微软并没有提供 PC 上的驱动和开发环境。怎想到,销售没多久便遭到(褒义的)黑客破解,它不仅在 Windows 上运行,还可以在 OS X 和 Linux 上运行。微软没有禁止破解的行为,反而顺势而为推出了官方的 Kinect SDK,一时传为佳话。
优点:
可以获取深度数据(320*240)、rgb 数据(640*480)、声音、骨骼节点(20个)
拥有三套 SDK:微软 SDK、OpenNI、libfreenect
后两个 SDK 是跨平台,支持各种开发语言
价格便宜
社区成熟,开发资源丰富
缺点:
传感器分辨率不够,看不清手指
由于使用结构光技术,深度传感器的可视范围无法重叠
OpenNI 和 libfreenect 虽然跨平台,但是功能远不如微软 SDK
设备尺寸大,需要一坨电源线
致命缺点:
微软已宣布停止生产 Kinect 一代
使用场景:
Windows 及以外操作系统
人离设备三米左右
对精度要求不高
Microsoft Kinect One
二代是随着 Xbox One 出现的,二代又叫做 Kinect One,最初和游戏主机是捆绑销售的。相比一代,增强了不少功能,因为苛刻的软硬件需求,也引起一些不便。
优点:
分辨率更大、可以看到更广阔的场景
可以检测到的人体关节点更多(25个),能看清手指
拥有两套 SDK:微软 SDK、libfreenect2
可以开发 Windows Store 应用
缺点:
libfreenect2 基本不能检测骨骼,功能缺太多,同时 OpenNI 也不支持它,因此局限于 Windows 平台