互动投影系统使用说明
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1安装
1.1运行环境要求
推荐硬件配置如下
CPU: Intel Pentium D 925
内存: 1024M
显卡: NVIDIA GeForce 8500GT
硬盘: 160G
视频采集卡:支持WDM驱动
模拟摄像机:CCD传感器,BNC输出,加装可见光截止红外光通过滤光片760nm - 850nm 投影机:物理分辨率800x600以上,1000流明以上
操作系统
Windows XP / Vista / 7 32位
1.2安装
直接运行安装程序按提示安装完成
软件需要.Net Framework 2.0 支持,如果你的电脑上没装,需要安装光盘里dotnetfx.exe 2 注册
使用USB锁无需注册
运行互动投影系统软件,主界面如下:
进入菜单[帮助]->[注册]
用户码是软件自动生成的,请把用户码发送给我,我会给你发送注册码将得到的注册码输入文本框,点注册,会提示注册成功。
3. 设置互动引擎
进入菜单[互动引擎]->[设置]
请按以下步骤对互动引擎进行设置:
1.窗口上面实时显示当前摄像机采集画面,将摄像机对准投影画面使整个投影画面包含在摄像机画面中,拖动①②③④把4个十字准心分别对准投影画面的四个顶点。
2.设置水平翻转与垂直翻转可以翻转摄像机的画面,在摄像机画面反了的时候可以设置
3.平滑与降噪是指对采集的摄像机图像作平滑与降噪处理以防产生干扰点,这两个参数通常不需要改动
4.灵敏度越高动作越容易被识别,同时也越容易产生干扰,通常在70-90间调节。
5.上面的步骤设置好了后可以点击测试,这样可以立即测试引擎是否能正常工作。
点击后会出现全屏的黑画面,你可以在画面上做动作,相应的位置会出现白色的点,按Esc可以退出测试。
4运行互动模块
4.1常规运行
这里把互动效果内容称为互动模块,软件里自带了两个很炫的模块,池塘和秋叶。
在运行互动模块之前,我们要先启动互动引擎,不然是无法互动的。
点击菜单[互动引擎]->[启动]
双击要运行的互动模块,这时你可以直接与投影画面互动。
4.2从命令行启动
互动投影系统主程序为InteractiveProjection.exe,主程序支持从命令行启动,格式如下:InteractiveProjection.exe –startengine –run1 –c300
-startengine 表示自动启动互动引擎
-run0 表示自动启动列表中第一个互动模块
-c300 表示每隔300秒自动切换到下一个互动模块
4.3开机自动启动
运行快捷方式“互动投影系统(自动启动)”,可以直接启动互动引擎并运行互动模块每隔5分钟自动切换互动模块。
可以查看此快捷方式的属性,在目标一栏中加了“–startengine –run1 –c300”命令行参数,你可以修改这个参数或者自己创建快捷方式。
将此快捷方式复制到开始菜单启动项可以实现开机自动启动。
5开发互动模块
5.1 标准Windows程序
这里的互动引擎是开放接口,你可以根据接口协议开发自己的互动模块
互动引擎与互动模块使用Windows消息通信,你所开发的程序必须为Windows窗口程序。
互动模块的主窗口接收来自互动引擎的消息,要求这个窗口的标题按如下格式:
DXIAPP~~XXXYYY Anystring
标题以“DXIAPP~~”开头,XXX为三位数字指定希望互动模块发送的互动坐标的水平分辨率,YYY为垂直分辨,Anystring可以为任意字符串。
当互动模块的窗口处于Foreground时,互动引擎会自动检测它的标题并给它发送互动坐标消息。
互动引擎使用SendMessage向互动模块窗口发送WM_COPYDATA消息
lParam为COPYDATASTRUCT结构
lpData指向坐标数据,格式如下:
XYXYXY…
X、Y各占一个字节,每两个字节表示一对XY坐标,坐标的最大值为255,255
当互动模块窗口标题指定的分辨率超过256x256时,发送的消息不再是坐标信息,会直接发送一个完整的二值图像数据,每个字节表示一个像素,如果这个字节的值不为0则表示这个像素是互动的像素。
5.2 使用Flash开发
5.2.1 配置接口
互动引擎可以直接调用Action Script中的函数,把互动数据传给Flash。
进入安装目录下的FlashAPI文件夹,使用记事本打开flashapi.xml,按说明配置文件
<?xml version="1.0" encoding="utf-8" ?>
<flashapi>
<!--flash文件路径,可以是相对或绝对路径-->
<swfpath>interactiveflash.swf</swfpath>
<!--是否隐藏鼠标指针 隐藏:true 不隐藏:false-->
<hidecursor>false</hidecursor>
<!--是否忽略鼠标右键 是:true 否:false-->
<ignorerightclick>false</ignorerightclick>
<!--指定引擎发送的识别数据分辨率-->
<x>64</x>
<y>48</y>
</flashapi>
5.2.2 开发Flash
1.在Flash的文档类中定义一个名为“iCall”的函数
public function iCall(param: String):String {}
2.使用ExternalInterface指定这个函数为外部调用
ExternalInterface.addCallback("iCall", iCall);
3.FlashAPI.exe会加载swf文件,并直接调用iCall函数,互动坐标数据通过param参数传入参数格式 x,y|x,y|x,y…
x,y为互动数据的坐标,使用半角逗号隔开,多个坐标使用竖线隔开,坐标分辨率是在flashapi.xml中指定的分辨率
Interactiveflash.swf文件是一个互动效果示例,在source code文件夹中有它的源码,使用Flash CS3,ActionScript3.0开发。
4.启动互动引擎后,直接运行FlashAPI.exe就可以启动互动效果了,注意窗体要处于前台才能接收到互动数据。
使用Alt+F4退出程序。