65.9K
CodeProject 正在变化。 阅读更多。
Home

Intel® RealSense™ 代码示例“Sketch”

emptyStarIconemptyStarIconemptyStarIconemptyStarIconemptyStarIcon

0/5 (0投票)

2015年3月18日

CPOL

3分钟阅读

viewsIcon

17352

Sketch 是一个简单的绘图应用程序,它允许用户通过手势和手部动作来模拟在画布上绘画。

英特尔®开发者专区 提供用于跨平台应用程序开发的工具和操作指南,平台和技术信息,代码示例和同行专业知识,以帮助开发人员进行创新并取得成功。 加入我们的社区,了解 物联网Android*英特尔® 实感™ 技术Windows*,下载工具,访问开发套件,与志同道合的开发人员分享想法,并参加黑客马拉松,竞赛,路演和本地活动。

摘要

此代码示例使用适用于 Windows* 的英特尔® 实感™ SDK 创建一个名为 Sketch 的简单虚拟绘图应用程序。 这个用 C#/WPF 开发的 Windows 桌面应用程序演示了英特尔实感 SDK 中提供的一些手部跟踪和手势识别功能。

  • 检索手部关节 x-y-z(世界)坐标
  • 选择性地捕获手势数据
  • 获取警报状态信息(即,手部检测、校准和边界状态)

(注意:此示例应用程序的完整功能需要前置 3D 摄像头。)

观看 Sketch 在此的简短视频概述。

Sketch 简介

Sketch 是一个简单的绘图应用程序,它允许用户通过手势和手部动作来模拟在画布上绘画。 图 1 显示了 Sketch 用户界面(在 WPF/XAML 中开发)。

图 1. Sketch 用户界面

启用了三个手势(在屏幕上显示并附带相应的操作)以与虚拟画布进行交互

  • 手指捏合(“绘制”)– 使光标变为实心并在画布上绘制一条线。 光标在画布上的位置由用户中指指尖的 x 和 y 坐标控制。 线条粗细由用户中指指尖的 z 轴控制(即,从相机拉开会导致线条变细,就像降低笔或画笔上的压力一样)。
  • 手指张开(“悬停”)– 停用笔,使光标变成一个空心圆。 悬停允许笔移动到画布的其他部分而不绘制线条。 它还允许用户通过简单地悬停在调色板上来从右侧的调色板中选择颜色。
  • 挥手(“擦除”)– 擦拭绘图画布,使其准备好进行新的绘图。

详细说明

当用户做出“two_fingers_pinch_open”手势时,Sketch 应用程序会模拟在画布上绘画。 选择此手势是因为它近似于用户握住笔或画笔时会做出的手势。 图 2 演示了此手势。

图 2. 绘图手势

笔的放置和笔画粗细由跟踪用户指的尖端来确定,考虑到手指捏合是启用在画布上绘图的手势,这可能看起来不直观。 跟踪中指的原因是为了避免拇指和食指压在一起时可能发生的遮挡。 跟踪中指而不是食指或拇指可以获得更好的性能。

Sketch 应用程序还演示了如何获取和显示手部警报状态信息(在本例中为手部检测、校准和边界异常)。 以某种形式提供此类反馈可以帮助用户将手正确地放置在摄像头前。 尽管此示例应用程序中此信息的呈现方式很简单,但鼓励开发人员向其用户提供类似的提示,以改善整体用户体验。

查看它

要试用此应用程序并了解更多有关其工作原理的信息,请在此处下载

关于英特尔® 实感™ 技术

要开始使用并了解更多有关适用于 Windows 的英特尔实感 SDK 的信息,请访问 https://software.intel.com/en-us/realsense/intel-realsense-sdk-for-windows

© . All rights reserved.