amobbs.com 阿莫电子技术论坛

标题: DIY多点触摸箱 [打印本页]

作者: wcm_e    时间: 2012-3-26 00:33
标题: DIY多点触摸箱
本帖最后由 wcm_e 于 2012-3-26 00:43 编辑

    随着各类multitouch硬件设备的不断推出和普及,Multi-touch带来的人机交互的革新已瞩目共睹。面对铺天盖地的Multitouch技术,我们自己给自己电脑DIY个多点触摸装置(DEMO演示而已)。
[attach]1153[/attach]


首先,我们先从总体结构上谈谈多点触摸软件。
现在我们自己DIY的触摸屏都是属于Optical Multitouch,说白了就是用红外灯把你手指照亮,然后用摄像头去捕捉你的手指的位置来实现多点触摸。所以,在最低层要有一个摄像头的检测软件,用于捕捉跟踪你的手指位置,这个属于计算机视觉领域的活,现在开源世界里面已经有了好几个用于多点触摸捕捉的软件了,其中比较早也比较经典的一个就是touchlib。这个软件大概07年中间的时候发布,后来又修改了好久,现在版本已经基本稳定在ver.401。很久没有变化了。
touchlib是用C++编写,最终是以dll(动态链接库)的形式发布,随着touchlib项目一起的(具体参见touchlib源码)还有几个用C++编的例子,比如smoke,mousedrive,osc等。


材料说明:

  硬件:
  1.摄像头一个。用不着太好,30W像素的杂牌子也是可以的,但是最好用可以全方位旋转的那种,至少能够达到60度以上的仰角,当然如果能够到90度就很完美了。
  2.除去顶盖的硬纸板盒一个。不能太小,纸板越硬越好,开口尽量宽敞点。
  3.白纸一张。普通的打印纸就可以了。
  4.透明材料。最理想的材料是半透明玻璃,可以直接省去材料3,搞不到的话就用普通玻璃,其实用贴液晶显示器的保护膜就够了,可以选稍微硬一点的那种。
[attach]1157[/attach]
[attach]1160[/attach]
  软件: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 退出。
[attach]1162[/attach]
2.Windows示例程序
  运行Demos/C++ Demos里面的Smoke_Demo.bat,移动你的手指,看看具体效果。如果烟雾的效果不是很明显,重复步骤2;如果有大于手指数量的烟雾点,按B 键进行背景重捕捉。一般来说,Smoke Demo里面的效果应该还是不错的。满意的话按Q键退出。
  运行Demos/C++ Demos里面的Windows_Mousedriver.bat,弹出CMD控制台,直到出现“Recap”字样时,就可以用多点触摸的方式来代替鼠标操作了。
[attach]1165[/attach]
3.Flash示例程序
  首先运行Server.bat,弹出CMD控制台和一个灰色的窗口(无图像),用手指按在盒子上,直到CMD内出现“Blob Detected”的字样,然后运行“Gateway.bat”,弹出CMD控制台和名为“FLOSC 2.0”的窗口,点击该窗口内的“Start”,CMD控制台应该会显示“Server Started”,如果没有的话,可能是没有安装Java runtime 1.6以上的版本的缘故。
[attach]1166[/attach]
  然后你就可以运行Demos/Flash文件夹里面的Flash示例程序了。
[attach]1164[/attach]
[attach]1163[/attach]

  以上内容其实都在教程文档里面了,如果遇到问题,可以看看文档里面的Help部分(推荐),或者到这个地方进行提问:NUI Group Forum。

非常棒的mt2a的教程
[attach]1167[/attach]
[attach]1159[/attach]







作者: eat_tomato    时间: 2012-3-26 12:08
不错, 回家也做一个
作者: ourdev850725    时间: 2012-3-26 13:12
确实好玩啊
作者: longlong105    时间: 2012-3-26 13:18
有点意思,回头试试看,要先找个摄像头去
作者: yu_wen    时间: 2012-3-26 13:21
思路很独特
作者: xsh2005105326    时间: 2012-3-26 13:44
看看有没有机会,弄多些CPT,到时候开源
作者: wcm_e    时间: 2012-3-26 16:18
最有意思的就是做个咖啡桌, 用电视液晶+红外发光管检测, 或者用投影机, 手册里有详细介绍
作者: dianzifendou    时间: 2012-3-31 10:04
做的不错!
作者: feixiaku    时间: 2012-4-8 01:49
mark相当好!
作者: liaoya00000    时间: 2012-6-5 11:06
楼主强悍啊
作者: liaoya00000    时间: 2012-6-5 11:25
楼主能不能把软件和教程发给我啊 谢谢了~~2584997841@qq.com
作者: wcm_e    时间: 2012-6-6 14:15
刚测试过, 连接可下, 不私发了
作者: xtx8962    时间: 2012-6-6 15:04
楼主,强大
作者: hpjywd    时间: 2012-6-7 15:00
不错 谢谢LZ分享 不过都只有演示
作者: jinshaopu    时间: 2012-8-8 17:19
一定要做一个
作者: yangjing29    时间: 2012-8-10 11:56
学习了,又有收获了
作者: yangjing29    时间: 2012-8-10 11:56
学习了,又有收获了
作者: keshipt    时间: 2012-8-10 12:51
思路不错 顶了
作者: Mid_summer    时间: 2012-8-13 00:00
顶一个!!
作者: chenfzg    时间: 2012-8-13 00:07
顶!不错学习下!                       
作者: hamipeter    时间: 2012-9-19 00:53
顶一个!!!!




欢迎光临 amobbs.com 阿莫电子技术论坛 (https://www.amobbs.com/) Powered by Discuz! X3.4