今天是2011年1月1日,祝大家元旦快乐!
今天给大家奉上的Community Core Vision(CCV) 1.3版本的指南文章,包括介绍、界面、配置、调试等内容。1.4版本的指南文章过段时间也会发布。同时欢迎大家登陆mt2a.com多点触摸技术论坛讨论多点触摸相关技术。本文在mt2a.com的地址:
概述 Community Core Vision,简称CCV,一个开放源代码的计算机视觉与机器传感的跨平台解决方案。它需要一个视频输入流用来捕获数据,将数据处理之后,输出追踪数据(如触点坐标和触点大小等)以及触摸事件(如手指按下、移动和按下并保持等),这些都是构建多点触摸应用程序的基本要素。CCV可以与各种网络摄像头或视频采集设备协同工作,通过支持TUIO/OSC/XML的应用程序进行数据连接,并且支持包括FTIR、DI、DSI和LLP等在内的多种基于光学的多点触摸硬件方案。CCV具有众多优秀的特性: --简单易用的图形用户界面。 --滤镜(动态的背景相减、高通、缩放、阈值算法),可以与所有的光学硬件设备协同工作,支持自定义滤镜模块。 --摄像机切换,如果你有多个视频采集设备,你可以通过动态切换传入的视频信号,不需要重启程序。 --输入模式切换,可以使用一段视频录像来代替摄像机。 --动态网格校准,因为设备的大小差异,导致触点的移动速度和大小不能更好地与应用程序结合,你可以通过调校,添加/减少触点,增加/减小触点尺寸,以达到最佳性能。 --图像翻转,支持图像水平或垂直翻转。 --网络广播,支持发送OSC/TUIO协议信息到某一端口,以此让应用程序读取并进行处理。 --摄像机和应用程序帧频显示,可以实时显示当前摄像机和应用程序的FPS数值。 --GPU模式,支持GPU硬件加速。 --跨平台,支持Windows、Mac和Linux。 这部分内容将讲述了CCV的使用、配置和校准,了解CCV的各个部分和操作方法对搭建完整的多点触摸技术方案有着重要的作用。
系统要求 Intel/AMD 2.0GHz CPU, 1GB内存, 100MB剩余磁盘空间, nViDIA或AMD独立显卡, Windows XP/Vista/7,Mac OS X Leopard/Snow Leopard(PPC/Intel),Ubuntu/Debian。 Windows和Mac需装有QuickTime,Linux需装有libpoco,否则将会出现CCV启动后一闪而过的情况。
界面1. 源图像。显示从摄像机传入的原始图像或视频文件。2. 使用摄像机作为捕获源。3. 使用录制好的视频作为捕获源。4. 切换到前一个摄像机。5. 切换到后一个摄像机。6. 捕获影像并处理之后的影像。这个影像已经经过触点追踪和过滤,是最终生成的触动影像。7. 反转显示模式。选择此项会切换影像的显示模式。8. 阈值调节滑块。调整要追踪的触点大小,值越高,追踪后的触点越大。9. 运动过滤。当手指滑动的时候,会产生残留影像,调节此值,可以使手指滑动的时候,触点被追踪得更为精确,类似于液晶显示器中的响应时间。10. 最小触点尺寸。调整可以追踪的最小触点,值越高,被分配ID的触点就越大。11. 最大触点尺寸。调整可以追踪的最大触点,值越高,越大的触点就失去ID,相当于追踪的点的大小上限。12. 移除背景。捕获当前帧的背景影像,并将它作为活动帧中需要减去的背景,意思就是说为了使背景对触点的追踪的影响降到最低,可以采用移除背景的方式将背景在运算时减去。13. 动态相减切换按钮。动态调整背景图像,如果处在一个环境光不稳定的条件下,移动该滑块,将动态处理背景图像并在运算时相减。14. 光滑度调节模块。平滑影像并随机过滤影像中的噪点。15. 高通模糊调节滑块。去除图像的模糊部分,留下清晰明亮的影像。16. 高通噪点。调节此值,将影像中的噪点加以模糊处理,使其尽可能不影响触点的追踪。17. 触点放大滑块。如果触点很弱、不稳定,调节Amplify滤镜以增强触点亮度和稳定性。18. 开关切换。打开或关闭当前开关所在滤镜。19. 摄像机设置按钮。开启摄像机高级设置页面。20. 垂直翻转切换。将源图像垂直翻转。21. 水平翻转切换。将源图像水平翻转。22. GPU模式切换。开启图形硬件加速,只适用于较新的显卡,现在处于功能开发初期,可能无法在所有的机器上启用。23. 发送UDP协议的TUIO触点信息。24. Flash XML。以TCP协议XML格式向外广播触点信息。25. 二进制TCP。向外广播原始触点x/y值信息。26. 加载校准屏幕,开始校准。27. 保存设置。
配置1. 。2. 启动Community Core Vision 1.3。3. 程序将会默认使用已经录制好的一段视频,并显示在Source Image,并将处理后的影像显示在Tracked Image。4. 如果没有选择正确的摄像机,可以通过Next Camera和Previous Camera进行摄像机的选择。5. 如果现在仍然没有手指影像,点击Remove BG按钮或键盘上的B键,程序将捕获背景,这样做的目的是让程序将背景记住并在处理的时候减去。如果处在一个环境光不稳定的环境里,打开 Dynamic Subtract。6a. (仅限于FTIR和LLP) 关闭Highpass滤镜和Amplify滤镜。 打开Smooth滤镜。 调节Smooth滤镜的值直到移除噪点。 如果触点很弱、不稳定,打开Amplify滤镜以增强触点亮度和稳定性。6b.(仅限于DI和DSI) 关闭Smooth滤镜和Amplify滤镜。 打开Highpass滤镜。 调节Highpass滤镜的Blur值和Noise值直到手指影像清晰可见。 如果触点很弱、不稳定,打开Amplify滤镜以增强触点亮度和稳定性。7. 最后,调节Tracked Image中的Threshold滑块值直到只有手指的影像在上面而没有其它的噪点。8. 点击Save Settings按钮,保存当前设置。程序在退出的时候也会自动保存当前设置。9. 进行校准。
校准 运行校准程序可以校准连接CCV的摄像机和投影仪,校准可以让触点在正确的位置触发。CCV已经将摄像机的坐标转换为屏幕空间坐标。这一部分将介绍如何对CCV进行校准。 在开始之前,需要确定投影仪显示的影像为当前摄像机的影像,如果不是,请参照前文内容选择摄像机。 我们校准的是Tracked Image中的影像数据。1. 点击Enter Calibration按钮或者按键盘上的C键,进入校准模式。 界面译文: 校准: -- 按c键开始校准; -- 按x键返回到CCV主界面; -- 按b键重新捕获背景; -- 按t键开启或关闭触点对象十字。 改变网格数目(校准点数目) -- 当前网格数目为 *×*; (下面的操作在接下来的步骤已经讲到,此处不再翻译)
2. 一个带有绿色十字的网格显示出来。当开始校准时,这些十字就是触摸时的校准点。3. 这时,你会发现周围有一个白色框,但是这个白色的框不一定正好与屏幕边缘吻合,可能会有某个边溢出屏幕,如果白色框正好与显示的区域吻合,则跳过步骤4,否则,继续下一步。4. 使用方向键进行位移,先使左边和上边与屏幕吻合,然后进行下一步。5. W/A/S/D加方向键为拉伸操作,比如,按住D键不要放开,再按右方向键,白色框将向右拉伸,按左方向键,白色框向左拉伸,而左上下边均没有变化,以此类推。反复操作,直到白色框四条边均与屏幕四边吻合。6. 如果使用了广角镜头或者想要得到更高的触点识别精度,可以调整校准点网格大小。按主键盘上的是“+”键(就是“=”键)增加y轴校准点,按主键盘上的“_”键(就是“-”键)减少x轴校准点。按住Shift键的同时再进行上述操作则改变x轴的校准点数目。增加减少校准点 对性能没有影响。7. 现在可以按c键开始校准。8. 这是,在校准点上会出现一个红色圆圈,现在,用手指触摸这个点,直到这个点变成白色。校准过程中,屏幕上会显示操作指南(英文)。 操作指南译文: 校准: -- 触摸当前圆环并保持按下,直到圆环变成白色; -- 按b键重新捕获背景(如果出现了错误的触点,进行此操作); -- 按r键返回到上一个点重新校准。 需要说明的是,上文讲过,捕获背景是因为除去背景图像的干扰,捕获背景图像后,计算机处理触点时,就会减去背景图像,提高识别率和精度。9. 按照操作指南进行校准,校准完成后会返回到之前的界面。如果校准之后仍然不精准,可以再次进行从步骤4开始操作,或者直接按x键回到CCV主界面调节各个滤镜值,然后再从步骤1进行校准操作。
更改输入分辨率,帧速率,通信地址与端口,测试用视频文件和触点设置1. 关闭CCV。2. 打开CCV安装目录中的data文件夹。3. 找到并打开config.xml文件。4. 安装图片上的提示根据自己的需要进行修改。5. 保存设置,重新启动CCV即可看到新的设置。
运行Flash®演示程序1. 进行安全设置。2. 进入设置页面3. 选择“编辑多个位置”—“浏览文件夹”—浏览到演示程序所在的文件夹,点击“确定”以选择该文件夹,之所以使用“浏览文件夹”而不是“浏览文件”是因为演示程序不止一个,如果单个选择就会过于麻烦。4. 启动CCV,确保已经调试完毕,打开Flash XML选项,这个选项意味着将使用TCP协议XML格式向外广播触点信息。5. 启动一个演示程序(),现在,把手放上去,体验多点触摸带来的神奇感受! 本文作者Thons,以发布。