3

我正在使用面部跟踪进行 HCI(人机交互)。我正在尝试使用面部控制 PC。

我有 3x3 二维网格的按钮。1 2 3 4 5 6 7 8 9

假设,当前焦点在按钮 5 上。如果我按向上箭头,则焦点将在 2 上,向下箭头焦点将在 8 上,向左箭头 4 和向右箭头 6。

我想在不使用向上、向下、向左和向右箭头键的情况下实现向上、向下、向左和向右箭头功能的功能。我已经完成了左、右、上和下的决定。需要进行哪些事件处理、设置 tabindex 和进一步处理?

4

1 回答 1

1

如果您询问如何引发键盘按下事件,那么我认为您可以使用SendKeys类。

我假设您想创建一个使用人脸跟踪将用户移动转换为 UP DOWN 等按键事件的程序。上面的类有一个方法 Send() 方法,它接受一个密钥代码并将密钥传递给活动应用程序。

喜欢:

SendKeys.Send("{UP}");//For UP arrow key

由于您已经创建了将焦点转移到网格中相应按钮的方法,因此您可以在引发事件时发送相应的键。

然而 FaceDetection 是一项研究级别的任务,您需要自己实现它或找到一些好的库来引发这些事件。


有一个OpenCVDotNet库可以用来做这样的事情。它实际上是OpenCV库的 .Net 包装器。前往他们的网站,看看你是如何使用它的。
更新

要在WPF中生成按键事件,请查看此 SO Answer。

如何以编程方式在 C# 中生成按键事件?

于 2011-02-05T14:56:58.903 回答