通过计算机视觉的方式识别并判断键盘输入

发布时间:2013/11/10 16:13:17 访问次数:1204

综合起来看,我们需要设计一种视觉处理算法,AT28HC256-12DM/883它可以在一幅画面中找出每个手指相对画面的位置∞∽,以及手指距离桌面的高度z。事实上我们就是在检测手指的三维空间坐标忙删了,如图6所示。

如果之前阅读过我的关于3D激光扫描仪制作的文章,相信大家就能猜到具体的实现方式了,其实算法本身就是做三维的激光测距。不过这里我们先按照前文的思路继续分析下去。

做三维测量有多种方式,比如现在可以购买微软的Kinect深度传感器。如果不考虑成本,这的确是一种非常有效的方法,可以非常好地解决本文提出的这些问题。另一种类似的办法是使用双摄像头来做双目视觉处理,提取目标画面物体的深度信息,如图7所示。不过目前这类处理比较消耗处理资源,且校正过程比较复杂,并不适合这里的应用。

我们采用与基于三角浏距原理的激光测距仪一致的办法,通过主动投射激光来做目标物体的三维坐标检测。在自制的低成本激光3D扫描测距仪中,我使用一束线型激光照射目标物体,目标物体的反射光被摄像头捕捉到,利用三角测距原理,可以求出目标物体中被线激光照亮部分的坐标信息。

这里我们将线激光所产生的光线平面与桌面平行,并紧贴在桌面之上,将摄像头放置于激光发射器上方并俯视桌面,如’图8所示。

此时若手指接近桌面,则会阻挡住激光的通路,产生反射,反射的光点画面会被摄像头拍摄到,如图9所示,这是一个标准的三角测距的结构设置。细心的读者可能已经发现前文摄像头所拍摄到的画面(见图5)中手指尖部的白色光斑,这正是安装了线激光器后,激光被手指遮挡产生的反射效果。

对于这种基于线激光的测距方式,我们可以通过三角关系求出被激光照亮部分相对于以激光发射口为原点、位于线激光组成平面内的坐标PK∽。而又因为线激光组成的平面与桌面平行,且在设计上这两个平面是紧贴着的,所以可以近似地认为坐标点户是位于桌面平面的。

综合起来看,我们需要设计一种视觉处理算法,AT28HC256-12DM/883它可以在一幅画面中找出每个手指相对画面的位置∞∽,以及手指距离桌面的高度z。事实上我们就是在检测手指的三维空间坐标忙删了,如图6所示。

如果之前阅读过我的关于3D激光扫描仪制作的文章,相信大家就能猜到具体的实现方式了,其实算法本身就是做三维的激光测距。不过这里我们先按照前文的思路继续分析下去。

做三维测量有多种方式,比如现在可以购买微软的Kinect深度传感器。如果不考虑成本,这的确是一种非常有效的方法,可以非常好地解决本文提出的这些问题。另一种类似的办法是使用双摄像头来做双目视觉处理,提取目标画面物体的深度信息,如图7所示。不过目前这类处理比较消耗处理资源,且校正过程比较复杂,并不适合这里的应用。

我们采用与基于三角浏距原理的激光测距仪一致的办法,通过主动投射激光来做目标物体的三维坐标检测。在自制的低成本激光3D扫描测距仪中,我使用一束线型激光照射目标物体,目标物体的反射光被摄像头捕捉到,利用三角测距原理,可以求出目标物体中被线激光照亮部分的坐标信息。

这里我们将线激光所产生的光线平面与桌面平行,并紧贴在桌面之上,将摄像头放置于激光发射器上方并俯视桌面,如’图8所示。

此时若手指接近桌面,则会阻挡住激光的通路,产生反射,反射的光点画面会被摄像头拍摄到,如图9所示,这是一个标准的三角测距的结构设置。细心的读者可能已经发现前文摄像头所拍摄到的画面(见图5)中手指尖部的白色光斑,这正是安装了线激光器后,激光被手指遮挡产生的反射效果。

对于这种基于线激光的测距方式,我们可以通过三角关系求出被激光照亮部分相对于以激光发射口为原点、位于线激光组成平面内的坐标PK∽。而又因为线激光组成的平面与桌面平行,且在设计上这两个平面是紧贴着的,所以可以近似地认为坐标点户是位于桌面平面的。

计算机识别键盘流程,通过计算机视觉的方式识别并判断键盘输入相关推荐

  1. Android App监听软键盘按键的三种方式与改变软键盘右下角确定键样式

    Android App监听软键盘按键的三种方式与改变软键盘右下角确定键样式 actionNone : 回车键,按下后光标到下一行 actionGo : Go, actionSearch : 放大镜 a ...

  2. 【裂缝识别】基于matlab计算机视觉断裂裂缝识别【含Matlab源码 2049期】

    一.简介 1 案例背景 随着国家对公路建设的大力投入,我国的公路通车总里程己经位居世界前列,这样进一步促进了我国经济建设的发展.随着公路的大量投运,公路日常养护和管理已经成为制约公路运营水平提高的瓶颈 ...

  3. 科技系列 - 1 :判断键盘上的某个键按下 :KEY_DOWN

    如何判断键盘上的某个键按下 同机房的 : luogu_yydfj KEY_DOWN 函数是一个特别强有力的函数,它可以检测键盘及鼠标的状态(松开.点击),通常用于检查用户是否按了键盘上指定的键,也常用 ...

  4. 计算机更换硬盘键盘鼠标不好使,计算机上安装的原始Win7系统的鼠标和键盘无法移动硬盘,并且无法识别解决方案...

    最近,许多用户报告说原调键盘驱动,当使用Win7原始系统映像将计算机安装到计算机时,安装界面上出现的键盘和鼠标不可用,或者无法识别硬盘,并且无法进行安装. 无法继续. 无法使用,以下编辑器将与您分享具 ...

  5. 硬核科普:一文看懂人脸识别技术流程

    小编是个天生懒惰的人,同时又是个急性子,这样的人最享受被科技服务的乐趣. 举个例子,十多年前大家还在普遍用现金的时代,小编在商店买东西排队结账,每当看到收银员找零时手忙脚乱的样子就会心急如焚,只恨不能 ...

  6. 计算机开机启动流程详解

    一.BIOS 1.BIOS是什么 BIOS:基本输入输出系统(Basic Input Output System),它是一组固化到计算机内主板上一个ROM(Read-Only Memory)只读存储器 ...

  7. 如何使用计算机视觉进行人脸识别和测试?

    人脸识别和检测是计算机视觉领域中的一个重要研究方向.以下是一个简单的流程,用于使用计算机视觉进行人脸识别和. 如何使用计算机视觉进行人脸识别和测试? 收集和准备数据集:从网络.摄像头或其他来源收集包含 ...

  8. CV之FR:计算机视觉之人脸识别(Face Recognition)方向的简介、代码实现、案例应用之详细攻略

    CV之FR:计算机视觉之人脸识别(Face Recognition)方向的简介.代码实现.案例应用之详细攻略 目录 人脸识别简介 1.人脸识别的任务 2.人脸识别常用数据集 3.损失函数 4.网络模型 ...

  9. 基于生物特征信息的身份识别(指纹、面部识别的方式和原理)的使用问题的思考

    1.应用现状及应用案例介绍 近年来,随着互联网的飞速发展,各式各样的应用也不断发展,给我们的生活带来了极大的便捷.生活中,我们日常使用我们个人的指纹以及面部信息来识别个人身份,还有虹膜技术和声纹识别技 ...

最新文章

  1. OpenStack使用neutron agent-list缺少组件
  2. C++ 名字重载、隐藏、覆盖
  3. hdu 4468 spy 极其精彩的一道kmp灵活运用题
  4. 分段埃尔米特插值Python实现并检查误差
  5. 数据库中事务并发问题
  6. git拉取分支报错:fatal:‘XXX' is not a commit and a branch ‘XXX' cannot be created from
  7. OpenCV中文路径问题、matplotlib可视化中文乱码问题的解决办法
  8. 超2亿学生集体上线 在线教育概念股齐飞
  9. AD画图器件变灰如何恢复SHIFT+C清除过滤器
  10. 常见的三个网络协议的区别:TCP/IP、NetBEUI、IPX/SPX
  11. BP神经网络的预测模型
  12. PHP常用函数集合(可做桌面壁纸)
  13. 笔试题-2023-燧原-数字IC设计【个人解答版】
  14. 初识PV、UV、IP术语
  15. python绘制彩色花_AI绘制非常漂亮的彩色花朵
  16. 解析json数据巧记
  17. PHP编辑器常用快捷键(PhpStorm、Sublime_text)
  18. Java单个文件下载
  19. 面试整理:关于代价函数,正则化
  20. P1629 邮递员送信(最短路)

热门文章

  1. 前几帧预测 深度学习_使用深度学习从十二导联心电图预测心律失常
  2. uft自动化测试工具安装步骤_自动化测试灵魂三问:是什么、为什么和做什么
  3. VUE3@/cli数据交互(axios)
  4. windows下mysql5.6安装
  5. php 连接池 idletime,聊聊hikari连接池的idleTimeout及minimumIdle属性
  6. openpyxl 列 插入_openpyxl 基本使用
  7. 【专栏精选】网络封包神器protobuf简介
  8. java jws-_为JWS应用程序启动指定JRE位置
  9. android 平板怎么截图,平板电脑怎么截图 平板电脑截图方法【详解】
  10. 如何在局域网上托管ASP.NET Web应用程序