基于激光投影技术的虚拟键盘

今天给大家带来的开源项目是:基于激光投影技术的虚拟键盘

原文链接:https://mp.weixin.qq.com/s/shFAY6kA9EGqWNZB_Wv8PA

直接看图,看了你就明白了!(键盘运行视频在文末)

文末附开源资料网盘链接。

没错,就是这么炫酷!

更加酷的是,这套方案,全部免费开源,免费!(源码+论文+电路)

/ 1 系统总成 /

本系统包含两个部分:硬件信号获取和软件数据处理

硬件部分:广角摄像头;980nm红外滤光片;红外一字激光;键盘投射激光以及覆铜板支架组成。

软件部分:由Visual Studio开发环境结合OpenCV视觉库编写和编译而成的上位机软件。

整个系统是由软硬件协调完成。系统框架如下图所示。

/ 2 原理介绍 /

原理介绍比较长,还是希望你们能看完,嘿嘿。

如下图所示,在最下面的红外一字激光发射出红外线覆盖空间中的一个面,当然这个平面要覆盖整个键盘的范围,在中间的键盘投影键盘发出的是键盘形状的轮廓图形主要用于位置的标定,在最上面的摄像头实时拍摄外界图形并且把数据传递给电脑,因为一字激光发出的光线是和水平面平行的,所以没有物体遮挡时摄像头是不能检测到红外线信号的,但是如果有物体在红外一字激光区域中时,遮挡物体表面就会覆盖,有红外线摄像头就会检测到红外线信号,电脑获取到摄像头发送过来的信号后,经过一定的算法之后,得到红外线亮点在图片中的坐标,然后把这个坐标映射到现实中键盘的位置从而实现其功能。

 

/ 3 硬件设计 /

3.1 摄像头

摄像头选择的是:普通CCD摄像头500W像素33帧频,如下图所示,普通的摄像头的镜头的视角是90°的,所以检测到的面积很小,这样就会导致摄像头固定的高度会很高才能检测全部的键盘范围,摄像头安装过高就会减少光线的进入量,从而减少了信号的输入,不方便信号的检测和转换。

3.2 红外激光

使用红外线作为信号检测的光源,之所以选择红外激光是因为激光的具有低功耗和集成度效果好,而且其发出光的频率几乎专一,可以让人眼觉察不到,为了考虑到人身安全状况,故选择30mW的980nm红外激光,由于键盘是一个平面,所以不能使用传统的单束激光作为光源,所以只能选择一字形激光,其线角度为120°,只有调节好投影键盘的位置,一字激光可以完全覆盖到所有的键盘范围。

3.3键盘投影激光

此模块用于键盘坐标的标定,在平面上投射出键盘的形,状给用户一个键盘位置的确认,选择650nm的可见光激光因为是650nm波长,所以不会对摄像头检测980nm信号有干扰。

/ 4 软件设计 /

使用Visual Studio通过OpenCV库对摄像头数据的读取和算法实现,使用cvCapture- FromCAM函数和cvSetCaptureProperty就可以直接连接到PC端的摄像头。摄像头拍摄的原图如下图

本系统设计感兴趣的是亮光点,和相关的颜色信号无关,所以必须把图片二值化,以方便后面算法的实现,当然,为了进一步提高后面定位的精确性,所以在图片二值化前,可以使用cvThreshold 对单通道图片数据应用固定阈值操作。该函数的典型应用是对灰度图像进行阈值操作得到二值图像同时取得噪声,列如滤掉很小或者很大的图形点。二值化的图如下。

得到二值化图像后,接下来要做的就是查找所有兴趣点的轮廓,OpenCV里的find Contours是轮廓检测函数之一,这个函数可以使用多边形来近似表示一个轮廓其次,多边形逼近的目的是为了减少轮廓的顶点数目。但多边形逼近的结果依然是一个轮廓,只是这个轮廓相对要粗旷一些。如果要使得查找的轮廓平滑一点,可以使用approxPolyDP函数对该多边形曲线做适当近似,如果要画出查找到的轮廓的话,就可以配合使用drawContours函数,使用函数boundingRect,还可以得到轮廓的外包络矩形。定位包络矩形的中心点在图片中的坐标,然后就可以检测到手指的位置,最后投射到键盘对应的位置。查找轮廓后的图片如下图。

找到兴趣点的轮廓和定位到对应兴趣点在图片中的位置后,接下来的就是映射键盘了,虽然镜头是有线性失真的,但是通过一定的算法校正后,还是能保持线性的,所以只要把图片比例化之后,然后划分按键位置的坐标就可以直接映射到对应的按键位置了。键盘映射后面的图片如下图。

4.4程序流程图设计

 

/ 5 结束语 /

大致的介绍了键盘的硬件和软件设计,由于篇幅原因,其中还有很多细节没有讲清,无妨。我有论文!上面有更详细的论述和制作过程。然后免费开源(论文+代码+电路)所有的资料!

虚拟键盘运行视频:https://v.qq.com/x/page/j07653fnb8e.html

大家最关心问题:如何获取这个开源项目的资料?

不多废话,直接上百度云链接:

链接:https://pan.baidu.com/s/1-PUcUBihsFzGKbem7CBSoA 
提取码:843b 

如果失效了可以加我微信:18163910311

备注:CSDN虚拟键盘

我再发给你。

前言: 自1999年发布第一只浏览传感器以来,其光学鼠标传感器的出货量已经突破6亿只。Avago开创了应用于鼠标的光学传感技术,并向全球各大LED和激光鼠标制造商提供从入门级到下一代的光学和激光鼠标传感器,继续引领市场潮流。Avago Technologies(安华高科技)是为先进的通信、工业和商业等应用领域提供创新的半导体解决方案的领导厂商,成为激光技术应用中的佼佼者。 虚拟激光键盘设计介绍: 激光投射键盘相信大家之前也有所听说,他通过光学手段,将计算机键盘的画面通过激光投影到任意的平面上(如桌面)上,并且允许操作者像使用真实键盘那样进行输入操作。 虚拟激光键盘设计方案概述: 我们的设计基于了PC机上进行的计算机视觉来处理按键事件。采用了一个由摄像头和激光器组成的测距系统工作。 本设计所需要的硬件非常简单,只需要3个核心部件即可实现:一个摄像头、一个激光器以及投射键盘图案的投射激光。这也是正是低成本的奥秘所在了。 当用户在桌上“按下”一个虚拟的按键后,手指上反射的激光信号会被摄像头捕捉。随后安装在PC/Mac上的信号处理软件就会进行最核心的工作:通过反射的激光光斑定位用户的指尖位置,并求出对应的按键: 虚拟激光键盘效果图如下: 视频演示: 虚拟激光键盘原理分析: 在具体介绍实现过程前,我们首先需要分析这类激光投影键盘的工作原理以及给出解决问题的思路,这样也可方便大家举一反三。首先需要解决的核心问题有这么两个: 如何产生键盘的画面? 如何检测键盘输入事件? 产生键盘画面 对于产生键盘画面,可能很多人认为这种画面是通过激光+高速光学振镜来得到的。这种方式虽然在技术上是完全可行的,但由于需要采用精密的机械部件,成本非常高,并且也难以做成轻便的产品。 通过光学振镜扫描产生的激光投影画面截图 实际上在激光投影键盘产品中,这类画面往往是通过全息投影技术得到的。激光器通过照射先前保存有键盘画面的全息镜片的方式在目标平面上产生相应的画面。这种方式的成本非常低廉,市面销售的激光笔常配备的投影图案的镜头也是用这种原理产生的。 不过这类全息投影方式对于DIY来说仍旧不现实,幸好得益于目前网络的便利——通过网购可以直接买到用于产生激光键盘画面的全息投影设备了,且成本在¥50以内。 更多详细介绍详见附件内容。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值