wcm_e 发表于 2012-3-26 00:33:40

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的教程








eat_tomato 发表于 2012-3-26 12:08:50

不错, 回家也做一个

ourdev850725 发表于 2012-3-26 13:12:22

确实好玩啊

longlong105 发表于 2012-3-26 13:18:33

有点意思,回头试试看,要先找个摄像头去

yu_wen 发表于 2012-3-26 13:21:16

思路很独特

xsh2005105326 发表于 2012-3-26 13:44:42

看看有没有机会,弄多些CPT,到时候开源

wcm_e 发表于 2012-3-26 16:18:28

最有意思的就是做个咖啡桌, 用电视液晶+红外发光管检测, 或者用投影机, 手册里有详细介绍

dianzifendou 发表于 2012-3-31 10:04:19

做的不错!

feixiaku 发表于 2012-4-8 01:49:44

mark相当好!

liaoya00000 发表于 2012-6-5 11:06:48

楼主强悍啊

liaoya00000 发表于 2012-6-5 11:25:28

楼主能不能把软件和教程发给我啊 谢谢了~~2584997841@qq.com

wcm_e 发表于 2012-6-6 14:15:57

刚测试过, 连接可下, 不私发了

xtx8962 发表于 2012-6-6 15:04:57

楼主,强大{:biggrin:}

hpjywd 发表于 2012-6-7 15:00:49

不错 谢谢LZ分享 不过都只有演示

jinshaopu 发表于 2012-8-8 17:19:11

一定要做一个

yangjing29 发表于 2012-8-10 11:56:32

学习了,又有收获了

yangjing29 发表于 2012-8-10 11:56:58

学习了,又有收获了

keshipt 发表于 2012-8-10 12:51:56

思路不错 顶了

Mid_summer 发表于 2012-8-13 00:00:45

顶一个!!

chenfzg 发表于 2012-8-13 00:07:23

顶!不错学习下!                     

hamipeter 发表于 2012-9-19 00:53:15

顶一个!!!!
页: [1]
查看完整版本: DIY多点触摸箱