10块钱将Mac笔记本变成触摸屏的开源方案
The following article is from 红薯胡说 Author 红薯
本文介绍一种只需不到 10 块钱就可以将你的 Mac 笔记本屏幕变成触摸屏的方法,重点是,这个方法是开源的!!!
整个原型由 Anish Athalye,Kevin Kwok,Guillermo Webster 和 Logan Engstrom 制作,耗时大约16小时。
该项目名为 Sistine 。
基本原理
Kevin Kwok 发现了这种现象,并做了个 ShinyTouch,利用外部网络摄像头构建了一个几乎不需要设置的触摸输入系统。紧接着,Kevin 和他的小伙伴想看看是否可以将这个想法小型化,并使其在没有外部网络摄像头的情况下工作。其想法是在 MacBook 的内置网络摄像头前改装一个小镜子,这样网络摄像头就会以锐角向下观看电脑屏幕。相机可以看到手指在屏幕上悬停或触摸屏幕,然后就能使用计算机视觉将视频输入转换为触摸事件。
所需硬件设置很简单,需要做的只是在网络摄像头前面以适当的角度放置一面镜子。
小镜子
硬纸板
铰链
热胶
最终产品形状如下:
手指检测算法需要先找到触摸/悬停点,然后进行进一步处理。我们目前的方法是使用经典的计算机视觉技术处理,包括以下步骤:
过滤肤色和二进制阈值
查找轮廓
找到两个最大的轮廓并确保轮廓在水平方向上重叠,而较小的轮廓在较大的轮廓上方
将触摸/悬停点标识为连接底部轮廓的顶部和顶部轮廓的底部的线的中点
根据两个轮廓之间的垂直距离区分触摸和悬停
映射和校准
上面的视频演示了校准过程,用户必须在屏幕周围跟随绿点。该视频包含一些调试信息,展示在网络摄像头的实时视频上。网络摄像头坐标中的触摸点以红色显示。在校准过程完成之后,用红线显示投影矩阵,并且软件切换到估计的触摸点显示为蓝点的模式。
最终应用
在这个原型中,我们将悬停和触摸转换为鼠标事件,使现有应用程序立即启用触摸功能。如本文最初的视频所示。
总结
Sistine 项目是一个概念验证,只需 1 美元的硬件即可将笔记本电脑变成触摸屏,这个原型的效果非常好!通过一些简单的修改,例如更高分辨率的网络摄像头(我们的是 480p)和一个允许网络摄像头捕捉整个屏幕的曲面镜,Sistine 可以成为一个实用的低成本触摸屏系统。
作者已经将此原型系统相关的源码通过 MIT 许可开源,源码地址:
https://gitee.com/mirrors/Sistine
开源中国征稿啦!
开源中国 www.oschina.net 是目前备受关注、具有强大影响力的开源技术社区,拥有超过 400 万的开源技术精英。我们传播开源的理念,推广开源项目,为 IT 开发者提供一个发现、使用、并交流开源技术的平台。
现在我们开始对外征稿啦!如果你有优秀的技术文章想要分享,热点的行业资讯需要报道等等,欢迎联系开源中国进行投稿。投稿详情及联系方式请参见:我要投稿