此项目为2016年微软创新杯参赛项目,功能是利用Kinect,使得投影仪投出的投影变得可以直接用手操控,就好像墙上的投影变成了一块大型的平板电脑一样。同时还可以用手势调用一些常用操作,目前实现了用手势来调用撤销。
项目的基本**是识别出指尖来调用鼠标,然后根据指尖和投影屏幕距离的远近来判断是否为点击状态。
- Kinect for Windows V2
- Kinect SDK 2.0
- OpenCV 3.0
- 将Kinect置于投影正前方,尽量与投影保持平行.
- 将投影的分辨率和电脑的分辨率设为一样,投影模式选择
复制
,目前不支持扩展
模式. - 投出一张纯色的图片,使得投影区域全部为纯色,不要有任何其他的界面.
- 运行程序,程序会在5s后自动识别屏幕,然后新建出两个图像窗口。因此在5s后从纯色图片中切出来,检查两个图像窗口.
- 在彩色图像中,识别出的屏幕边缘为红色,确保位置基本正确。然后检查深度图像,绿色的点代表这个方向上比较靠近屏幕,调整Kinect的位置直到没有绿色的点为止,然后重新识别和调整,直到识别出的结果没有绿色为止.
- 按F1激活程序,这时候已经可以在投影上进行操作了。建议使用
画图
来测试.
直接在墙上的投影上进行书写(视频地址)
用手控制PPT翻页
在墙上玩游戏(视频地址)
- 识别出投影区域
- 识别出指尖
- 识别出手势
- 获取投影区域的深度、指尖的深度
- 用指尖调用鼠标,手势调用其他操作,操作范围限定在投影区域内