1. 键盘图案投射器在平坦的桌面投出清晰键盘图案
2. 最底下的一字线性激光(一般采用红外线的,这样眼睛不可见)发出一字型激光,平行于桌面射出,这样如果手指有按键活动,会在手指上形成激光光斑
3. 摄像头捕获激光光斑,对应于键盘图案映射的位置,就可以知道哪些键被按下
OK,原理很简单,是不是。有了这些模块,剩下的关键就是摄像头的图像处理算法了,而且现在有了opencv,实现也不是难事。
这里说一下我的实现方法。
可见光谱
由于人眼对激光的反应不一样,780nm-808nm的激光人眼不敏感,可看到微弱的一丝红光。850nm至1064nm波长人眼不可见,通过红外感光仪器等专业设备可以看到,其中808-850nm通过摄像头可以看到。980-1064nm通过倍频片可以看到。
所以我在网上买了一个808nm-810nm 红外一字线激光器。这样配上滤光片,可以滤去绝大多数其他波长的杂光,只剩下红外激光的光斑。
这样做的好处是减少干扰,增加键盘的可靠性,而且使算法处理更加简单有效。
加上前面的650nm虚拟键盘激光组件,总共也就花了100块钱左右。
25mw 808nm-810nm 红外一字线激光器 激光头
红外一字线激光器