给笔记本电脑添加触摸屏功能,通过手指在屏幕上的指点动作操作鼠标。这个小制作可以不对计算机进行任何改动,仅通过一个“小手柄”实现简易触摸屏的
功能,即用这个“手柄”在屏幕上的指点来控制鼠标的移动。是不是觉得不可思议?其实它的原理很简单,有兴趣的朋友跟我们一起动起手来DIY吧!
要实现触摸屏功能,首先需要计算机对我们的动作进行感知识别。传统的触摸屏是基于硬件传感器的,即通过电阻分压计算AD值的方式获取坐标。本制作采
用图像识别方式,当然也有传感器,这就是大家常用的网络摄像头。图2清晰地说明了本制作的核心思想:屏幕平面与摄像头采集到的虚拟图像平面存在一一映射关
系。如能在摄像头采集到的图像中检测出手的位置,就可以将手指的图像坐标映射至屏幕上的实际坐标,达到我们的“触摸”效果。当然,计算机是很“笨”的,想
让它直接识别我们的手指,可能是一个复杂的问题:它得先分析图像,二值化,再提取“手指模型”特征,再……。
是不是又有读者准备翻页了?请再次打住!毕竟我们不是专业搞计算机图像识别的,让我们换一个思考方式吧,简化一下,为何不在手指上附加一种特殊标志,只让
计算机识别这个特殊标志呢?最直接的想法是识别颜色,因为这比其他任何基于形状识别的方法都要简单。比如,在手里握一支颜色“足够红”的笔,让计算机在采
集的图像中按像素逐个寻找R分量值最高的点即可。图3为计算机识别钟表起子尾部红色物体的屏幕截图,黄线十字处为识别到的区域,即使快速晃动起子,计算机
也能马上感应出来。
这个实验是在较理想的环境下进行的,如果背景较复杂,存在太多五颜六色的物体时,这种仅基于颜色的识别方法便无法使用。因为仅根据颜色信息,计算机
无法准确识别背景还是手中的物体。笔者突发奇想,
如果有一种“红外摄像头”,它仅能获取红外光谱的图像,用其来识别握在手里的红外LED不就可以了吗?这样,背景将是一片漆黑,视野中只有一个亮点,非常
适合计算机处理。下面就通过一步步的硬件改造来说明这个“创意”。
图1 实验最终效果
图2 图像映射关系
全文内容下载请点击:制作有趣的触摸屏鼠标(附原理图,制作过程) |