DIY多点触摸箱
本帖最后由 wcm_e 于 2012-3-26 00:43 编辑随着各类multitouch硬件设备的不断推出和普及,Multi-touch带来的人机交互的革新已瞩目共睹。面对铺天盖地的Multitouch技术,我们自己给自己电脑DIY个多点触摸装置(DEMO演示而已)。
首先,我们先从总体结构上谈谈多点触摸软件。
现在我们自己DIY的触摸屏都是属于Optical Multitouch,说白了就是用红外灯把你手指照亮,然后用摄像头去捕捉你的手指的位置来实现多点触摸。所以,在最低层要有一个摄像头的检测软件,用于捕捉跟踪你的手指位置,这个属于计算机视觉领域的活,现在开源世界里面已经有了好几个用于多点触摸捕捉的软件了,其中比较早也比较经典的一个就是touchlib。这个软件大概07年中间的时候发布,后来又修改了好久,现在版本已经基本稳定在ver.401。很久没有变化了。
touchlib是用C++编写,最终是以dll(动态链接库)的形式发布,随着touchlib项目一起的(具体参见touchlib源码)还有几个用C++编的例子,比如smoke,mousedrive,osc等。
材料说明:
硬件:
1.摄像头一个。用不着太好,30W像素的杂牌子也是可以的,但是最好用可以全方位旋转的那种,至少能够达到60度以上的仰角,当然如果能够到90度就很完美了。
2.除去顶盖的硬纸板盒一个。不能太小,纸板越硬越好,开口尽量宽敞点。
3.白纸一张。普通的打印纸就可以了。
4.透明材料。最理想的材料是半透明玻璃,可以直接省去材料3,搞不到的话就用普通玻璃,其实用贴液晶显示器的保护膜就够了,可以选稍微硬一点的那种。
软件:MTmini Software Package v1 ,包含了开源软件Touchlib(整个制作的核心)、设置程序、各种示例程序,以及相应的教程等等,总之就是All-in-One。
软件下载:http://nuispace.com/ss/MTmini%20package%20v1.zip
制作方法:
1.把摄像头固定在纸板盒的底部,并使得摄像头的有效部分和水平面尽量成0度角,在纸板盒的侧面开一个口,引出数据线,口不要开太大,避免过多的光线射入。
2.把材料3和材料4(我这里用的是液晶保护膜)裁剪成同样大小,用透明胶带站在一起,粘有白纸的一面向上,并固定在材料2的上方,这一步的关键在于固定的时候尽量不要在盒子的边缘留下缝隙。
3.如果你用的是那种半透明玻璃桌面的电脑桌,那可以直接把盒子粘在桌子下方,就像图中那样,超级省事。
软件设置部分:
1.配置Touchlib
运行Configuration.bat,会出现一个CMD控制台和图形界面,这里没有什么特别需要改动的地方,一般按默认就可以了,分辨率不用调得太高。
确定之后会出现一系列的窗口,每个窗口里面都有一个滑块可以调节,把你的手指按在刚刚做好的盒子上面,你会看到窗口里面会出现手的大概模样(没看到?你该不会是没有开摄像头吧?),调整滑块以改变灰度、粗糙程度等属性,直到名为Rectify7的窗口里面只出现平滑的与你的手相对应的白点。调整好后按ESC 退出。
2.Windows示例程序
运行Demos/C++ Demos里面的Smoke_Demo.bat,移动你的手指,看看具体效果。如果烟雾的效果不是很明显,重复步骤2;如果有大于手指数量的烟雾点,按B 键进行背景重捕捉。一般来说,Smoke Demo里面的效果应该还是不错的。满意的话按Q键退出。
运行Demos/C++ Demos里面的Windows_Mousedriver.bat,弹出CMD控制台,直到出现“Recap”字样时,就可以用多点触摸的方式来代替鼠标操作了。
3.Flash示例程序
首先运行Server.bat,弹出CMD控制台和一个灰色的窗口(无图像),用手指按在盒子上,直到CMD内出现“Blob Detected”的字样,然后运行“Gateway.bat”,弹出CMD控制台和名为“FLOSC 2.0”的窗口,点击该窗口内的“Start”,CMD控制台应该会显示“Server Started”,如果没有的话,可能是没有安装Java runtime 1.6以上的版本的缘故。
然后你就可以运行Demos/Flash文件夹里面的Flash示例程序了。
以上内容其实都在教程文档里面了,如果遇到问题,可以看看文档里面的Help部分(推荐),或者到这个地方进行提问:NUI Group Forum。
非常棒的mt2a的教程
不错, 回家也做一个 确实好玩啊 有点意思,回头试试看,要先找个摄像头去 思路很独特 看看有没有机会,弄多些CPT,到时候开源 最有意思的就是做个咖啡桌, 用电视液晶+红外发光管检测, 或者用投影机, 手册里有详细介绍 做的不错! mark相当好! 楼主强悍啊 楼主能不能把软件和教程发给我啊 谢谢了~~2584997841@qq.com 刚测试过, 连接可下, 不私发了 楼主,强大{:biggrin:} 不错 谢谢LZ分享 不过都只有演示 一定要做一个 学习了,又有收获了 学习了,又有收获了 思路不错 顶了 顶一个!! 顶!不错学习下! 顶一个!!!!
页:
[1]