ActiveX控件(共8篇)
ActiveX控件 篇1
1 Active X的定义
Active X是以微软COM模型 (Component Object Model, 部件对象模型) 为理论基础建立起来的技术, 通过建立带有接口的对象, Active X控件能被其他COM组件或者程序调用, 为代码的重用提供一种简化途径。使用Active X控件可以轻松地在Web页中插入多媒体、交互式对象、各种文档格式以及复杂程序。
2 Active X控件漏洞的产生及危害
Active X控件主要和IE浏览器配合使用, 由于Active X控件接口对外部环境是开放的, 控件中的漏洞很容易被攻击者发现并加以利用, 严重影响网络和用户信息安全。
Active X控件的攻击方式主要表现在以下4个方面:一是其导出函数可能具有的隐蔽的功能;二是通过控件可获取本地私密信息;三是控件本身一些函数在处理参数的时候出现了参数长度未检查造成溢出导致浏览器或者系统异常;四是一些恶意控件可以通过欺骗行为使用户访问恶意网页、下载恶意程序等, 最典型的就是钓鱼网站。攻击者可以通过Active X漏洞构造一个恶意网页, 一旦用户访问了该网页就会触发漏洞, 攻击者就可上传木马从而盗取用户信息。
3 Active X控件漏洞分析
Active X控件漏洞可以根据类型的不同, 采用自动和人工分析相结合的方法对其进行检测。
一类是缓冲区溢出漏洞, 包括字符串缓冲区溢出漏洞、整数溢出漏洞、格式化字符串漏洞。对于这种漏洞多采用Fuzz测试工具, 例如Com Raider、Axman等。由于Active X控件存在统一的编程接口, 所以可以通过系统调用获取控件中的属性和方法, 编写出自动化测试工具, 根据控件的参数情况, 自动填充异常数据, 检验是否存在漏洞。
另一类是逻辑漏洞, 主要表现在系统或者本地文件被覆盖, 删除;注册表表项被修改、删除;泄漏本地文件信息或者重要系统信息;访问恶意网页, 下载恶意程序。这些逻辑漏洞则可采用控件解析器如Com Raider、OLEView等, 解析出控件的方法和属性, 再根据每个方法的参数和返回值等, 手工构造测试用例, 依次对各个属性和方法进行异常测试, 根据页面的返回情况, 确定是否存在安全漏洞。
4 Active X控件漏洞的安全防范
通常我们可以采用以下几种方式来对Active X控件漏洞进行有效防范:
4.1 使用特征安全的Active X控件
Active X控件在发布时, 开发者可使用安全设置和数字签名来保证特征安全。安全设置包括两方面:一是对控件进行初始化安全性设置, 可确保控件无论在初始化时使用什么数据和脚本, 都不会执行有损于用户计算机的操作;二是对控件进行脚本安全性设置, 可确保控件不能从用户的计算机中获取未授权的信息, 避免对系统造成破坏。
使用数字签名可以用来检验控件的发布者, 并且确保发布后没有被篡改, 帮助用户在安装控件时做出更好的信任决断, 有效管理Internet Explorer中的加载项和识别该控件。
4.2 正确使用杀毒软件对Active X控件进行漏洞检测
虽然Active X控件加入了安全特征, 但并不能完全保证该控件是绝对安全的。因此, 我们可以选择一款能有效检测和阻止木马的安全软件来管理控件。对于安全软件所拦截的操作, 用户可以根据需要人为地作出判断。对于已确认安全且必须执行的控件, 可以选择“添加到信任区域”;其余的不明操作可以选择全部“阻止”
4.3 安装补丁文件
用户应及时为所使用的操作系统和应用软件打上补丁或更新到新版本, 才能有效封堵已经发现的漏洞。
4.4 屏蔽所有非主动安装的控件
用户在安装某些应用软件的时候, 可能会有一些附带的控件捆绑在一起偷偷在后台进行安装。这些控件没有经过安全性检测, 很容易出问题。因此, 屏蔽所有不是我们主动安装的组件是避免漏洞产生的关键。
4.5 正确对IE浏览器进行安全设置
IE浏览器有许多关于Active X控件的安全设置, 可阻挡大部分的Active X攻击。因此在使用浏览器时除了要及时将浏览器升级至最新版本还要加强浏览器本身的安全设置。可以在浏览器的Internet选项卡中根据需要对相应的管理项进行安全设置。对于需要特别放行的站点可以将其加入到“可信站点”中。若不信任某个站点, 但仍然需要访问它, 则可以将其列入到“受限站点区域”。
4.6 用户要提高安全意识
用户要提高网络安全意识, 不去随意访问可疑站点和非法站点, 以免被“钓鱼”。
5 结语
作为针对Internet应用开发的技术, Active X被广泛应用于WEB服务器以及客户端的各个方面, 除了及时检测并修复漏洞, 还要加强Active X控件漏洞的安全防范, 才能真正的保障网络安全和避免损失。
摘要:ActiveX控件多是第三方开发, 并嵌入到IE浏览器中使用, 存在很多安全漏洞并广泛被黑客利用。本文从ActiveX控件的工作原理分析了漏洞产生的原因, 讨论了其漏洞产生的危害, 并对ActiveX控件漏洞的安全防范进行了深入探讨。
关键词:ActiveX控件,漏洞,安全
参考文献
[1]吴毓书, 周安民, 等.基于Fuzzing的ActiveX控件漏洞发掘技术[J].计算机应用, 2008 (9) :2252-2253.[1]吴毓书, 周安民, 等.基于Fuzzing的ActiveX控件漏洞发掘技术[J].计算机应用, 2008 (9) :2252-2253.
[2]H3C攻防团队.ActiveX控件漏洞挖掘方法.IP领航.2010第十三期.[2]H3C攻防团队.ActiveX控件漏洞挖掘方法.IP领航.2010第十三期.
[3]李永成, 黄曙光, 等.ActiveX控件中不安全方法漏洞的检测技术[J].微型机与应用, 2010 (6) :61-62.[3]李永成, 黄曙光, 等.ActiveX控件中不安全方法漏洞的检测技术[J].微型机与应用, 2010 (6) :61-62.
ActiveX控件 篇2
受影响系统:
Learn2 STRunner ActiveX 描述:
Learn2是Microsoft Office和Windows软件的系列培训软件,
Learn2在线培训产品所安装的STRunner ActiveX控件(iestm32.dll)中存在多个栈溢出漏洞,如果用户受骗访问了恶意HTML文档的话,就可能触发这些溢出,导致执行任意指令。 厂商补丁:
ActiveX控件 篇3
1. 认识ActiveX
ActiveX是Microsoft的元素软件标准。简单地说, ActiveX是一种共享程序数据和功能的技术。它是在OLE技术的基础上融入O C X技术而形成的联合标准, 由微软提出并大力推广, 并已成为事实上的标准。它涵盖了O L E的所有技术和功能, 同时又具有许多新的特性, 以适应网络发展的需要。
ActiveX由一组包括控件、DLL和ActiveX文档的组成, 通常以动态链接库的形式存在, 通过ActiveX技术, 使用户在程序中可以使用其它程序所产生的文档。例如, 在Authorware中借助Active X控件, 可插入F L A S H文档并控制其播放;借助Microsoft web浏览器控件可以浏览W e b网页等等。
2. 使用ActiveX控件
在Authorware中, 可以使用自带的A c t i v e X、W i n d o w s操作系统提供的ActiveX以及第三方ActiveX控件扩展功能。其基本方法是先在流程线上插入Xtra图标, 然后通过改变ActiveX控件的属性、事件和方法值来管理和使用ActiveX。
2.1 插入简单的ActiveX控件图标
通过下列操作方法, 使用Authorware中自带的ActiveX控件:
1) 在流程线上, 单击要插入控件图标的位置, 这时候出现手形标帜。
2) 从系统菜单上, 选择“插入→媒体→F l a s h M o v i e…”, 这时弹出“Flash Asset Properties”对话框。
3) 通过在对话框里的“Browse…”按钮, 选择要使用的F l a s h文件 (*.s w f) 。
4) 然后单击“O K”按钮。这时流程线上插入了一个Xtra功能图标。
运行该Authorware文件, 将呈现Flash文件内容。
2.2 插入其他ActiveX控件图标
通过下列操作方法, 可使用Windows操作系统提供的ActiveX或者第三方ActiveX控件:
1) 在流程线上, 单击要插入控件图标的位置, 这时候出现手形标帜。
2) 从系统菜单上, 选择“插入→控件→A c t i v e X…”, 这时弹出“选择A c t i v e X控件” (S e l e c t A c t i v e X Control) 对话框。
3) 在对话框的控件描述 (Control Description) 列表框中, 单击选定所需的Active X控件, 例如“Microsoft Forms2.0 L a b e l”, 然后单击“O K”按钮。这时弹出“ActiveX控件属性” (ActiveX Control Properties) 对话框。
4) 根据实际需要, 调整对话框里的属性值。例如, 在Microsoft Forms 2.0Label控件属性对话框中, 将Caption的属性值设为“这是一个文本标签控件”, F o n t的属性值设为“楷体三号”。然后单击“O K”按钮。这时流程线上插入了一个Xtra功能图标。
运行该Authorware文件, 演示窗口将呈现由“Microsoft Forms 2.0 Label”控件管理的内容。
2.3 调整ActiveX控件大小和位置
在运行含A c t i v e X控件图标的Authorware文件时, 有时需要改变其在演示窗口中的位置, 此时可以采用以下方法:
1) 显示演示窗口。
2) 从系统菜单上, 选择“调试→暂停” (C T R L+P) 。这时演示窗口出现一个虚框。
3) 单击虚框, 并改变对象控制点的位置。
2.4 查看ActiveX控件的属性事件和方法
具有特定的属性、事件和方法是ActiveX控件的基本特点, 也是其功能的体现和用户管理的手段。对于初学者而言, 往往并不熟悉每个控件的属性、事件和方法, 因此, 在实际使用时, 可以采用下列方法查看ActiveX控件的属性、事件和方法值:
1) 在流程线上, 单击该Xtra功能图标。
2) 在该功能图标属性面板中的单击“选项”按钮。这时弹出“A c t i v e X控件属性” (Active X Control Properties) 对话框。显示该ActiveX控件的所有属性、事件和方法值。
2.5 改变ActiveX控件的属性值
ActiveX控件的属性、事件和方法是ActiveX控件教学中的重点和难点。其中改变ActiveX控件的属性值, 可以使用Authorware的内部函数Set Sprite Property () 。其基本格式为:
Set Sprite Property (@"控件图标名", #属性名, "属性值")
下面是一个通过Authorware的计算图标来改变ActiveX控件的属性值的实例。
1) 插入一个Microsoft Froms 2.0Label控件;并将图标名称改为“ABC”。
2) 再插入一个计算图标, 并将图标名称改为“设置属性”, 图标中的内容为:
其中, “A B C”是该控件在Authorware中的图标名;Caption (标题) 、ForeColor (前景色) 、Fontsize (字号) 是该控件的属性名;“一目了然”、RGB (0, 0, 255) 、36分别为对应的属性值。
2.6 获取ActiveX控件的属性值
获取ActiveX控件的属性值, 可以使用A u t h o r w a r e的内部函数Get Sprite Property () 。其基本格式为:
result:=Get Sprite Property (@"控件图标名", #属性名)
其中, result是保存属性值的自定义变量。例如, result:=Get Sprite Property (@"ABC", #Fontsize)
2.7 获取ActiveX控件的事件
在ActiveX控件中发生的事件, 如控件属性的改变, 用户按下鼠标键等, 可由Active X控件发送, 并由Authorware中的事件交互捕获。一般步骤如下:
1) 插入一个ActiveX控件, 并建立简单的事件交互结构。
2) 单击交互结构中的事件响应标志符号 (E) , 这时显示交互图标属性面板。
3) 在发送 (S e n d e r) 列表框中, 双击要发送事件的控件图标名。出现“X”标记表示已选择。
4) 在事件名 (Event Name) 列表框中, 双击要获取的事件名, 如“C l i c k”。可以选择一个或多个。
2.8 调用ActiveX控件的方法
使用A u t h o r w a r e的常规函数CallSprite () , 可以实现ActiveX控件方法的调用, 其基本格式为:
Call Sprite (@"控件图标名", #方法名, [参数])
有时调用某种方法, 必需提供相应的[参数]项。例如, 播放Flash控件图标“ABC”的第4帧, 可使用CallSprite (@"ABC", #gotoframe, 4) 。
3 小结
ActiveX技术, 实现了程序模块的共享, 使我们可以方便地使用ActiveX控件扩展Authorware的功能。如果Authorware需要增加一项特殊的功能, 只要灵活地插入一个具有此项功能的ActiveX控件即可实现。同时, Authorware丰富的函数和强大的交互功能, 与ActiveX控件的动态灵活性相结合, 通过改变它的属性和参数, 使Active X控件的作用得到以充分的发挥。因此, 掌握Active X控件在Authorware中使用, 将对创建具有复杂功能的多媒体程序有巨大的帮助。
摘要:从教学的角度, 运用简明的实例详细介绍了ActiveX控件在Authorware中的运用方法与基本技巧。
关键词:Authorware,ActiveX控件
参考文献
[1]毕广吉.Authorware变量、函数、控件手册与范例[M].北京;电子工业出版社.2003 (9)
[2]杨懋, 张海军.ActiveX控件在Authorware中的应用[J].兰州工业高等专科学校学报.2004 (3) ;32-35
ActiveX控件 篇4
OLE控件(Object Link and Embed对象链接与嵌入),是在Windows环境下应用程序之间交换数据的一种技术。ActiveX控件是OLE技术的扩展和增强[1]。Visual FoxPro(简称VFP)为开发数据库应用系统提供了一套完整的工具,但对于一些复杂的功能VFP还需借助外部库来实现,ActiveX控件就是VFP访问的外部库的最常见的一种类型。ActiveX控件是封装了属性、事件和方法的对象,当一个ActiveX控件添加到VFP以后,就可以象使用VFP其它基类一样使用。本文介绍Gd Viewer Pro ActiveX控件在VFP设计图像浏览器中的具体应用。
2 GdViewer Pro ActiveX控件及其部分属性和方法程序
GdViewer Pro ActiveX控件是一种PDF浏览、图形处理组件,支持许多图像格式,如:gif,jpeg,jbig,png,bmp,tiff等等;可在任何支持ActiveX控件的32位和64位Windows开发环境中使用,如Visual C++,Visual Basic,Visual Foxpro,Delphi,PowerBuilder等;它能实现图形的查看、缩放、打印和旋转、显示多页TIFF文件和PDF文件、播放动态GIF图像、从URL加载图像等功能。
本文中所选用的GdViewer Pro ActiveX控件的属性和方法程序有:
DisplayFromFile:打开并显示图形文件
Rotate90:图像顺时针旋转90°
Rotate270:图像顺时针旋转270°
Zoom:确定图像显示的比例
3 在表单中添加GdViewer Pro ActiveX控件
GdViewer Pro ActiveX控件在电脑中安装好后,就可在VFP中使用。首先将其添加到“表单控件工具栏”中,添加的方法如下:在VFP环境下,执行“工具”菜单下的“选项”命令,在打开的对话框中,打开“控件”选项卡,单击“ActiveX控件”单选按钮,然后在出现的“选定”列表框中,选中“GdViewer Pro4.GdViewer”,并在前面的复选框里打钩,单击“设置为默认值”按钮,这样就可将GdViewer Pro ActiveX控件添加到“表单控件工具栏”中[2]。
在表单中添加GdViewer Pro ActiveX控件的方法是:单击“表单控件工具栏”中“查看类”按钮,在打开的快捷菜单中选中“ActiveX控件”,执行完后就可以在“表单控件工具栏”中看到GdViewer Pro控件,单击该控件,在表单中适当位置按下鼠标左键并拖动,待达到所需大小释放鼠标,即可将GdViewer Pro控件添加到表单中。
添加到表单中的GdViewer Pro控件就是一个封装了属性、事件和方法程序的对象,其属性的设置和事件代码的编写与VFP中其它常用控件一样。
4 图像浏览器设计
4.1 图像浏览器界面设计
创建一个表单Form1,如图1所示,包括一个GdViewer Pro控件Olecontrol1、一个列表框List1(用于显示“图形图像文件列表”),三个按钮(一个为列表框图形文件添加按钮AddCommand、一个是列表框图形文件删除按钮DelCommand、另一个是选中文件图像显示按钮DispCommand),一个标签Label1(用于显示“图形图像列表”说明信息)和一个按钮组Commandgroup1(包括七个按钮,其中前六个按钮分别用来控制图像文件的上移、下移,图像的放大、缩小、右旋、左旋,和一个退出按钮)。
4.2 图像浏览器各控件属性设置
图像浏览器各控件的属性设置见表1。
创建表单之前,先建表PictureTable.dbf。PictureTable的结构见表2。
4.3 图像浏览器控件事件代码设计
1)Form1的Init事件代码:
2)Form1的Unload事件代码:
3)AddCommand的Click事件代码[3]:
4)DelCommand的Click事件代码:
5)DispCommand的Click事件代码:
6)CommandGroup1的Click事件代码:
5 结束语
将ActiveX控件应用于VFP数据库应用系统的开发,可以大大减少事件代码的编写工作,缩短开发周期,获得良好的用户界面。如今,ActiveX控件资源极为丰富,种类繁多,若能熟练掌握各种ActiveX控件技术,就可以开发出各种各样、功能强大的数据库应用系统,提高应用程序的灵活性和适用范围。
参考文献
[1]刘玉龙.ActiveX控件在VFP多媒体程序设计中的应用[J].徐州师范大学学报:自然科学,2000,18(3):30-32.
[2]史济民.Visual FoxPro及其应用系统开发[M].北京:清华大学出版社,2008.
ActiveX控件 篇5
Powerpoint2010是Office2010的一个组件,是一种常用的办公软件,其简单、易学、易用,极易上手,因此不管在产品展示、学术报告、网络会议,还是在教育教学、课件制作等方面都应用广泛。Powerpoint2010作为一种最常用的演示软件,除了能够处理各种多媒体信息外,还兼容ActiveX技术。
1ActiveX技术简介
ActiveX指Microsoft对于一系列策略性面向对象的程序技术和 工具,其中的主 要技术是 组件对象 模型(COM)。为了适应高速发展的网络技术,Microsoft公司把OLE技术和OCX技术融为一体并加以改进形成了联合标准,并赋予新 名字ActiveX[1],也即是说,ActiveX中涵盖了OLE的所有技术和功能,同时又具有许多新特征。其具有用户交互控制功能,并且使用户在不打开其它应用程序的情况 下,就能直接 通过Web浏览器观 看动画、影像,以及听音乐等。
ActiveX控件还有一个主要优点,即可以被大多数应用程序使用,其以动态链接库的形式存在,设计时通常把一个程序(如Flash动画)嵌入到另一个程序中,形成动态链接库[2]。ActiveX控件结合了Java程序和Netscape插件的优点,还可以用许多语言的开发工具开发,包括C++、VisualBasic和PowerBuilder等语言开发工具,甚至一些技术性语言(如VBScript)。借助这种技术,用户可以把一个程序中所创建的相关信息嵌入到另一个程序形成的文档中,从而实现ActiveX技术的灵活应用。
2控件在 PowerPoint2007 课件开发中的应用
PowerPoint2010在PowerPoint2003的基础上有所改进,增加了SmartArt图形、带阴影和3D效果的图表等新功能。因此,用户可以使用PowerPoint2010开发出图文并茂、效果逼真、方便保存的多媒体课件,但是对于外部文件的链接、交互功能的实现等技术大多数用户还不熟练,下面介绍利用ActiveX控件技术如何实现相关技术。
2.1PowerPoint2010中 ActiveX 控件的使用
通常情况下PowerPoint2010选项卡中无“开发工具”选项卡,使用时需 要将其调 出来。具体操 作如下:启动Powerpoint2010,在任意一个 选项卡的 空白位置 右击鼠标,在出现的快捷菜单中选择“自定义快速访问工具栏”后单击鼠标,然后打开“Poweroint选项”对话框,在对话框中选择“自定义功能区”,勾选“开发工具”前的复选框。这样在菜单栏上将显示“开发工具”选项卡,同时工具栏也将增加控件工具等按钮,在使用时可根据具体情况选择,如图1所示。
2.2Flash动画控件在 PowerPoint2010中的应用
以在幻灯片中添加“看图识字.swf”为例说明flash动画控件在PowerPoint2010中的应用操作步骤,具体如下:
(1)选中需要添加flash动画的幻灯片,单击“开发工具”选项卡,切换到“开发工具”功能区,再单击“其它控件”按钮,弹出一个“其 它控件”对话 框,在该对话 框中选择ShockwaveFashObject选项,如图2所示。
(2)单击“确定”按钮,这时鼠标指针会变成“十字”形状,然后在幻灯片设计区中自左上向右下拖动鼠标,画出一个矩形,如图3所示。
(3)在“开发工具”功能区单击“属性”按钮,在打开的“属性”对话框中设置Height为480,Width为640,Movie为“D:课件制作素材看图识字.swf”。至此,本案例制作完成,切换到“幻灯片放映视图”即可看到效果。但需特别注意的是:制作的演示文稿与插入的flash动画文件在同一个文件夹下时,设置Movie参数时可以省略路径,直接输入文件名。如果不在同一文件夹,要写出flash动画的绝对路径。
2.3用 ActiveX 控件与 VBA编程技术制作交互课件
制作交互课件时常用的控件有命令按钮、列表框、文本框、复选框、单选按钮等。常用控件的使用方法是单击控件工具箱上相应的工具按钮,然后在幻灯片中拖动到适当大小即可。VBA(VisualBasicforApplications)是MicrosoftVisuanlBasic的宏语言 脚本,用于编写Windows应用程序。制作课件时,将需要的ActiveX控件插入幻灯片相应位置,然后打开VBA代码编辑 窗口为已 添加的ActiveX控件编写相关程序,以实现所需的交互效果。下面以一个单项选择题课件为例,介绍常用控件及VBA编程技术的使用。具体步骤如下:
(1)在菜单栏中单击“开发工具”选项卡,这时会出现“开发工具”功能区,在该功能区中选中“单选按钮”控件,鼠标变成十字形状,然后将鼠标移动到幻灯片相应位置按住鼠标左键拖动,这样就创建了一个单选按钮。
(2)选中刚创建的“单选按钮”,单击“开发工具”功能区中的“属性”按钮,打开“属性”对话框,在对话框中设置单选按钮的 各种属性,本案例主 要设置Caption、Font、Value3个属性的值。Caption属性值是 显示单选 按钮旁边的文字信息,这里设置为A;Font属性值确定单选按钮旁边的文字格式(如字体、字号、字形、颜色等信息),可以根据需要进行设置,达到内容与格式 一致即可;Value属性值确定单选按钮 的默认状 态,True为默认状 态,False为非默认状态。这里Value属性值设置为False。这样就建成了一个单选按钮。
(3)将上面已创建好的单选按钮再复制3个,并分别将3个副本选项按钮的Caption属性值更改为B、C和D,然后将这4个选项按钮放置在相应的4个备选答案文字左边合适的位置,如图4所示。
(4)为了VBA编程方便,要对4个单选按钮的名称重新定义。首先选择第一个单选按钮,单击“开发工具”功能区中的“属性”按钮,打开“属性”对话框,在对话框 中“名称”属性项后面的文本框中输入cap1,如图5所示。然后按照相同方法,将其它3个单选按钮对象的名称分别定义为cap2、cap3和cap4。
4个单选按钮定义好之后,为它们编写VBA程序:首先编写正确答案对应的单选按钮的VBA程序。本案例中的正确答案为A,双击A选项前面的单选按钮,打开MicrosoftVisualBasic窗口,在代码编辑窗口中输入以下代码:
代码完成后的结果如图6所示。
然后编写错误答案对应的单选按钮的VBA程序。双击B答案前面的单选按钮,弹出MicrosoftVisualBasic窗口,在代码窗口中输入以下代码:
剩下的C和D两个答案按照相同方法进行设置。代码输入完成后,关闭MicrosoftVisualBasic窗口返回到幻灯片编辑窗口。
2.4命令按钮控件使用方法
以上就是4个选项按钮的VBA程序,为了使课件更具交互性,还需要两个命令按钮控件。具体方法如下:
(1)选择“开发工具”功能区中的命令按钮,这时鼠标光标变成十字形状,然后在幻灯片工作区的合适位置按住鼠标左键,拖动鼠标创建一个大小合适的命令按钮。
(2)选中刚建立的命令按钮,单击“开发工具”功能区中的“属性”按钮,打开“属性”对话框,在Caption属性后面的文本框中输入“重新选择”。再根据具体的幻灯片大小调整命令按钮的大小和位置。
(3)选中“重新选择”按钮,按住ctrl键的同时拖动鼠标复制一个按钮副本,选中按钮副本,单击“开发工具”功能区中的“属性”按钮,打开“属性”对话框,在Caption属性后面的文本框中输入“下一题”。最后将两个按钮对齐放置在幻灯片右下角的合适位置,如图4所示。
(4)双击“重新选择”按钮,在打开的代码编辑窗口输入以下代码:
该程序代码的功能是取消所有单选按钮的选择,这样就可以重新选择答案了。
(5)双击“下一题”按钮,在打开的代码编辑窗口中输入以下代码:
该程序代码的功能是跳转到第二张幻灯片,第二张幻灯片是测验题的第2题,可以按第一张幻灯片的制作方法制作第二张幻灯片。
3结语
ActiveX技术及VBA编程技术在PowerPoint2010中能够实现外部文件的无缝链接以及实时智能交互。以上两个案例是相关 的典型应 用,除此之外,还有很多ActiveX控件都可以与VBA编程技术建立联系,制作出令人满意的交互课件。例如要在PPT课件中设计考试试卷,做完试卷以后,要求学生提交,并且要及时准确地给出答案和分数。这需要进行数据库连接,有一定难度,但通过VBA编程技术,可以访问ACCESS数据库,并对试题数据进行详细分析和处理,从而制作出具有交互性的课件。因此,只要制作者有一定的计算机编程基础,认真思考,精心设计,即使使用Powerpoint2010软件,同样能够做出满意的智能交互课件。
摘要:交互性是课件制作中必须考虑的问题,利用Powerpoint 2010中的ActiveX控件技术,可以在课件制作中实现形式多样的智能交互。通过介绍利用PowerPoint2010制作标准智能练习题课件,可让课件制作者更好地了解ActiveX控件技术和VBA编程技术。
ActiveX控件 篇6
关键词:网络口语测试,ActiveX控件,VC++6.0
英语考核的重点是学生的语言表达和运用能力。目前,大多数英语考核都通过“笔试+面试”的方式进行,此种方式不仅成本高、效率低,也很难进行大规模的考核,特别是异地、远程考核。有些机构采用了网络考试系统进行英语考核,但这些系统一般不具备音频、视频考试的能力,仅能满足笔试环节需求,对语音考核无法满足。为此,根据教学的需要,设计开发了本系统。
相比传统的口语教学与考核方式,本系统不仅具备一般网络考试的优点,如高效、公平等,而且具有自身的特点:
1.试题类型有多种形式,可进行听力、音频、视频、多媒体类英语考试,多角度考查学生的口语水平。
2.适用范围广,可用于高校、语言培训机构组织英语等各种语言的网络考试,也可用于外语口语教学中课后作业的提交。
应用本系统进行外语口语测试或考试,学生通过访问Internet,登陆测试系统,使用本系统提供的Active X录音控件录下口语测试内容,并形成录音文件上传服务器,统一管理。教师登陆系统,听取学生的口语录音文件,评定学生的口语掌握情况。本系统的技术难点是Active X控件的设计以及多种试题类型的设计与实现,笔者将具体介绍这些难点的实现形式。
一、Active X控件的设计与实现
ActiveX控件的优点在于建立在组件对象模型(COM)的基础上,实现了软件模块的二进制连接,封装性强,可广泛用于各种支持Active X的开发平台,如Visual C++,VB,Delphi等,用户所要做的只是掌握控件的属性、方法和事件。
本系统中的ActiveX控件是用VisualC++6.0编制的具有录音和文件上传功能的控件Oral_Test_Control。控件的界面包括2个按钮;“考试开始”“结束”,显示声音强弱的柱状图区域,以及显示录音进行时间的文本框(如图1所示)。使用者通过鼠标点击按钮来操作,控件录下通过麦克风输入的声音,并在录音结束后将声音文件上传到服务器。Oral_Test_Control提供了一些属性、事件和方法,方便使用者在其他程序或网页中使用。
例如,控件中的方法Exam Time可设置答题时间,方法Set FTP可设置FTP上传的相关参数,等等。
1. 录音部分
Windows系统对于多媒体声音的处理有多种方式,如MIDI(乐器数字接口),MIXER(混声器),Low Level Wave Input/Output(低级声波输入/输出)等。其中的低级声波输入/输出可以直接在较低层次上控制声音的输入与输出,具有较高的性能和实时性。Active X控件中录音的实现采用Windows提供的一组低级音频函数来完成,简单流程如下:
打开录音设备wave In Open()—>准备wave数据头wave In Prepare Header()—>准备数据块wave In Add Buffer()—>开始录音wave In Start()—>停止录音wave In Reset()—>关闭录音设备wave In Close()
为克服录音过程中数据丢失的问题,录音时使用了2个缓冲区。如果使用单缓冲区,则当缓冲区被填满,应用程序收到MM_WIM_DATA消息而需要从缓冲区读数据时,因缓冲区处理临界状态,驱动程序将不能把正在录制的数据写入缓冲区中,就会丢失数据,造成录音中断。使用双缓冲区可以克服该缺陷。
2. 上传部分
F T P规定了数据包的格式、数据包头部结构、命令结构等,使用“传输控制协议”,即T C P,作为移动数据的传输机制,因此语音文件的上传采用F T P文件传输方式。有2种方法可以编写F T P客户程序:Winsock和Win Inet。相对于Win Inet编程接口,使用Winsock进行编程时,需要对控制连接和数据连接进行管理,而且还需如同Telnet协议的实现一样对服务器的命令进行响应并组织发送的命令,因此尽管由其实现的F T P客户功能强大且编程灵活,但这使得编写F T P客户成为一个非常庞大的工程,因此对于一般应用,使用Win Inet既提高了效率也易于实现。
在Active X控件中应用Win Inet类编写FTP客户端上传程序,基本步骤如下:
(1)建立CInternet Session对象;
(2)使用CInternet Session::Get Ftp Connection连接到FTP服务器;
(3)使用上一步返回的CFtp Connection对象的Cftp Connection::Set Current Dire_tory设置当前目录;
(4)使用CFtp Connection::Open File打开文件,在打开文件的同时也就设定了传输模式是二进制还是文本方式;
(5)用上一步得到的CInternet File的Cinternet File::Write向服务器写数据,通常要在写数据前将本地文件读入缓冲区;
(6)使用Cinternet Exception来处理可能遇到的错误;
(7)当上传完成后,释放CInternet Session对象。
二、口语测试系统的实现
1. 在测试系统中调用Active X控件
在客户端I E浏览器中正确显示包含ActiveX控件的HTML页面,必须事先在机器上已经注册了该Active X控件,否则页面上的Active X控件不能显示,这种做法显然不适合在Internet上使用,系统设计时不希望浏览器用户找到该Active X控件并注册到客户机上。为了解决这个问题,可使用Object标记的codebase属性指定控件的代码位置,在程序中使用如下代码:
通过以上代码指定了控件程序地址为“http://192.168.106.24/050810/Oral_Test_Control.ocx”,当浏览器遇到该语句时,会把codebase指定的程序下载到本地,然后调用组件程序的自动注册入口函数到当前系统中。
2. 多种试题类型的实现
本系统设计的试题有4种类型:文字试题、语音试题、视频试题和图片试题。这些试题都是基于W E B来实现的。通过设置试题的种类,在程序中进行判断具体要采用的试题形式。
文字试题采用.t x t格式,即使客户机没有安装office,也可以运行。语音试题采用.mp3格式,也可以采用.wav格式,但是.mp3格式的文件较小,更适合网络传输。目前市面上的外语听力材料多是.m p3格式,本系统采用这种格式的语音试题便于题库的更新和修改。视频试题采用.avi格式,视频的界面大小设置为640*480。图片试题采用.jpg或者.gif格式,不建议使用.bmp格式。
根据实际的需要,试题阅读时间是事先指定的,因此,试题页面paper.asp根据阅读时间的要求定时跳转到下一页,即考试页面exam.asp,只要在paper.asp文件<head>和</head>之间加入以下代码:
其中:"<%=t_read_time%>"为停留的秒数,从数据库中读出的数值,exam.as是将要跳转到的页面。
教师如要增加、修改或删除试题,只需登陆“修改试题”板块,就可以进行相应操作。
三、应用示例
在考试之前,教师需要做一些准备工作,登陆“参数设置”板块设置测试必需的参数,如试题阅读时间、答题时间、临时文件夹路径等,并建立试题。学生进入口语测试系统的流程如下:
1. 学生登陆界面
学生登陆口语测试系统,输入姓名和学号,符合输入规则时,登陆成功。
2. 试题界面
根据事先设定试题阅读时间和试题类型,试题界面出现,一定时间后网页将自动跳转到答题界面。图2,图3显示的分别是图片试题和文字试题:
3. 答题界面
按下Active X控件的“考试开始”按钮后,学生就可以对着麦克风完成口语的录音。按下“结束”按钮后,学生录音文件上传到服务器。如在规定的答题时间结束时,学生没有按下“结束”按钮,控件会强制结束录音,录音文件自动上传到服务器。
四、结束语
本文介绍了网络口语测试系统的特点和测试系统中试题的多种实现形式(文字试题、语音试题、视频试题等)。该系统可以全面考查学生的口语水平,文中详细说明了运用Active X技术实现录音和文件上传功能,由于Active X控件具有跨平台性和复用性,本系统开发的Active X控件也可以应用在其他应用程序中,完成更为复杂的应用功能的开发,具有广阔的应用前景。
参考文献
[1]胡峪,刘静.Visual C++编程技巧与示例[M].陕西:西安电子科技大学出版社,2000
[2]余英,梁刚.Visual C++实践与提高—COM和COM+篇[M].北京:中国铁道出版社,2001
ActiveX控件 篇7
光学相干 层析技术 又称相干 断层扫描 技术 (OCT),自1991年David Huang等人[1]提出以来,就迅速成为了生物医学和材料检测等领域的研究热点之一[2,3]。它利用弱相干光干涉仪的基本原理,检测物体不同深度层面对入射光的背向反射或几次散射信号。对活体眼组织显微镜结构的非接触式、非侵入性断层成像产品在市场上已经有成熟的产品。
其基本的光学相干层析系统包括:光源模块,耦合器模块、光路扫描模块及探测器模块。其中,时域OCT系统的光路扫描模块分为参考臂横向扫描及样品臂的纵向扫描,扫描模块的步长、时间及方向均由系统控制程序定义;而探测器模块需要将采集到的电压信号送入上位机(电脑)中进行后续的处理及图形转换,也需要系统软件执行。
目前,最常用的OCT系统软件是基于Lab View开发的,它是一种可视化编程工具,能够提供大量的模块和硬件接口,使用非常方便,尤其擅长数据采集系统。但是在后期图像重构及图像去噪方面缺乏灵活性,特别是处理数据时,使用Lab VIEW提供的图形函数就比较繁琐[4]。
Matlab是Math Works公司推出的一种面向工程和科学运算的交互式计算软件,它提供了强大的矩阵处理功能和绘图功能,集成了大量的函数和工具箱Tool-box,在生物医学工程、图像信号处理、信号分析、控制论和系统论等各个领域具有较强的影响力[5,6]。
Matlab提供图形用户界面开发环境(GUIDE)来完成界面设计。GUIDE(Graphical User Interface Devel-opment Environment)是一个工具集,Matlab将所有GUI支持的用户控件都集成在这个环境中,并提供界面外观、属性和行为响应方式的设置方法,在最新的Matlab版本中,GUIDE所提供的控件只有12种,而使用外部Active X控件,则存在无限扩展Matlab界面编程的可能性[7]。所谓Active X控件是基于COM标准的能够被外部自动调用的OLE对象,它是对通用控件的扩充[8],是GUI设计的精华所在。通过在Matlab界面设计中使用外部控件Active X,可以使用户的学习和使用更为方便和容易[9]。
本研究利用基于Matlab/Active X控件的光学相干层析系统,实现对材料内部结构的准确检测。
1基于Matlab/ActiveX控件的光学相干层析系统开发
基于Matlab/Active X控件的光学相干层析完整系统包括以下4个模块:
( 1 )参考臂和样品臂线性平台控制模块;
( 2 ) NI采集模块;
( 3 )信号处理模块;
( 4 )图像显示模块。
系统程序流程图如图1所示。
OCT系统的主界面如图2所示。
两个线性平台的Active X控件分别控制参考臂和样品臂的线性平台扫描,5个按钮分别执行对应的初始化、扫描、停止、成像及分辨率求解操作。通过该界面还可以对NI采集通道,以及NI卡的采样频率进行设置。
1.1基于Matlab/ActiveX控件的线性平台控制模块创建
线性平台控制模块需要实现的功能是:
首先进行样品一个纵深上的扫描,即参考臂先实现一个A扫描后,移动样品臂横向扫描一个步长(B扫描), 然后再完成下一个纵向及横向扫描,如此循环往复。
本研究搭建的光学相干层析系统扫描模块采用Thorlabs MTS25-Z8 25 mm紧凑型电动移动平台,Thorlabs公司提供方便的APT协议,可以简便地与Matlab通信。研究者首先创建一个空白的GUIDE界面,在空白界面中添加两个Active X控件,事先将这两个控件均设为MGMotor Control,设置这两个MGMotor的序列号属性(即HWSerial Num)为电动平台的序列号,即可实现使用GUI控制平台扫描。
本研究在GUIDE界面中设置3个命令按钮:
(1)Initial初始化按钮。实现按钮单击时初始化两个线性平台的速度、加速度以及最小步长;
(2)Scan扫描按钮。实现按钮单击时启动两个线性平台按照设定的扫描时序进行扫描;
(3)Stop停止按钮。实现两个线性平台的停止。
MGMotor Control1和MGMotor Control2对应的句柄值为Active X1及Active X2[6],是图形窗口句柄han-dles的成员存储,本研究在Initial、Scan、Stop按钮的callback回调函数中分别编写对应的执行语句,对扫描需要的参数进行设置,运行后,设置的参数显示在GUI界面上的线性平台控件中,以方便查看。
1.2NI采集模块创建
该模块实现的功能如下:
在样品每一个纵向扫描的过程中,开启或关闭NI采集卡,实时采集扫描过程中样品的干涉光强,并将其转换为电压值,保存到数组中,送给上位机供图像重构及处理。
采集卡使用NI公司的NI USB-6009,14位差分AI分辨率,最大采样率为48 k S/s。笔者在GUI界面中插入一个下拉菜单用于选择NI卡的采样通道,以及一个可编辑文本框用于设置NI卡的采样频率,这些参数变量可以采用Global全局变量声明,实现回调函数及GUI界面之间的数据共享。系统将下拉菜单及可编辑文本框中获得的参数传递给采集卡程序以供参数的初始化。
本研究在Matlab中提供DAQ数据采集工具箱,调用工具箱函数可以控制NI采集卡,完成采集和分析的任务。在编程与调试之前,应正确安装采集卡的驱动程序,并在NI-MAX中对采集卡做好设置,确保采集卡正常工作[10]。
采集卡的工作过程分4个步骤:
(1)初始化采集卡;
(2)触发采集操作;
(3)读取数据;
(4)释放资源。
使用命令data(i,:)=getdata(ai)将数据读取并保存在一个二维数组中。
时序扫描图如图3(a)所示。
在采集卡采集的过程中,注意到原来的线性平台扫描时序如图3(a)所示,线性平台返程的阶段采集卡并不作采集,线性平台做一个A扫描后需要返回原点才能进行一个B扫描(A扫描为纵向扫描,B扫描为横向扫描),浪费了线性平台的行程及系统运行时间。
改进后的采集时序如图3(b)所示,线性平台返回的过程也作数据采集,但在数据保存时需要将采集到的偶数列数据进行倒序处理,与奇数列的原数据合成为一个二维扫描矩阵,才能正确反映物体内部结构的光强值。
经验证,图3中的两种扫描方式的成像效果一致, 可以节省近一半的系统时间。
2信号处理及结果分析
2.1二维矩阵的平稳小波变换
由于在OCT图像中,像素灰度与光电流成比例, 散斑的出现会使图像的一些像素随机变量变暗,产生许多噪声,使人无法看清图像的细节,降低了图像的清晰度[11],所以需要采取适当的信号处理方法来提取更敏感的信号。
该系统创新性地采用平稳小波变换(stationary wavelet transform,SWT)进行图像处理[12],对每个采集到的数据点光强值进行小波分解,保留分解后的细节系数,重新存入数据矩阵,成像时可以获得更清楚的图像结构信息[13]。程序将小波变换写在命令按钮的回调函数中,单击按钮程序便执行相应的小波分解函数。
2.2系统分辨率求解
该模块还包含对样品一维干涉峰值信号取半峰全宽,以此换算求出系统的分辨率。以一层塑料薄膜为例,由于透明胶与空气的折射率不一样,光在塑料薄膜的界面处会发生明显干涉,表现为扫描光强信号的干涉峰。
塑料薄膜两个界面的干涉信号图如图4所示。由图4可知,两个干涉峰值分别为塑料薄膜的上、下界面。
OCT系统测量的是生物组织对入射光束的后向散射光,所以OCT系统的纵向分辨率一般为相干长度的一半,常用公式:(2 ln 2)/πλ02/Δλ 来理论计算OCT系统光源的纵向分辨率。但由于光源光谱很少为理想的高斯型,由公式计算出的纵向分辨率与光源实际的纵向分辨率会有所不同。对于具体光源,必须通过计算探测器输出的干涉信号半峰全宽(FWHM)值,方可得到系统的实际纵向分辨率。
干涉信号的细节放大图如图5(a)所示。
干涉信号求包络曲线后,执行命令求取半峰全宽值,如图5(b)所示。
编程实现时:首先对干涉条纹信号取包络,然后寻找半峰全宽的纵坐标位置(1/2峰值位置),接下来使用find(y=?)命令来寻找对应的两个横坐标值。
需要注意的是:由于采样的数据点是离散的,所以在半峰的位置可能不存在采样点,可以在半峰值左右最小的范围内寻找距离最小的点,命令改为find (y>?&y<?),即y的取值在1/2峰值附近微小范围内波动,寻找到的对应的两点横坐标间的距离相减,计算得系统实际的半峰全宽。
求解得到已搭建系统的分辨率为0.93 μm,与通过公式计算得到的理论分辨率0.9 μm较为吻合,由此可见,该系统性能良好,受散射的影响较小[14]。
2.3图像显示
图像显示模块实现在二维的扫描全部完成后,将采集到的数据矩阵在Matlab界面上显示样品的断层扫描图。
本研究使用imagesc指令进行成像。系统在调用imagesc函数时,若只使用一个参数,可以用任意灰度范围显示图像。在该调用方式下,数据矩阵中的最小值对应于颜色映象表中的第一个颜色值,数据矩阵中的最大值对应于颜色映象表中的最后一个颜色值。
系统在GUI界面上显示平稳小波变换(SWT)处理前后的图片用于对比,可以将图片保存为fig文件。
成像运行子界面如图6所示。
由图6可以清晰地看到,小波变换后的界面分层清晰了很多。
3结束语
基于Matlab/Active X控件的光学相干层析系统软件具有成本低、易于操作等优点,本研究在Matlab中使用Active X控件开发系统软件便于升级和维护。将系统用于一层及多塑料薄片的实验测量,计算得到塑料薄片的厚度,与游标卡尺测量结果一致,验证了系统的可行性。
系统还可以将塑料薄片间的空气间隙测出,真正实现了无损检测。
本研究所开发的系统软件一体化程度高,具有友好的图形界面,能够方便地控制及集成各个模块,还可以同时进行数据处理及样品成像等。该应用对于光学相干层析成像系统的应用具有一定的参考价值。
摘要:为了推进光学相干层析系统的研究,采用Matlab/ActiveX控件开发了时域光学相干层析成像系统,实现了被测样品深度方向按预定的时序和参数(比如速度和位移等)进行扫描;利用计算机驱动NI数据采集卡同步采集样品干涉信号;采用平稳小波变换去噪模块等信号处理方法对所采集的数据进行了分析处理,并对系统采集到的干涉图形求取了半峰全宽和系统的分辨率;将采集到的数据矩阵进行重构成像显示,实现了对材料内部结构的精确检测。研究结果表明,该光学相干层析系统软件集成化高、界面友好、维护及升级方便,便于光学相干层析系统的研究和开发,能够实现对多层薄膜的无损检测和评价。
ActiveX控件 篇8
手持式数码显微镜已被广泛应用于产品质量检测和鉴定、刑事鉴定、珠宝文物鉴定修复、数码教学、生物实验、阅读辅助等领域。手持式数码显微镜有多种特点:1) 携带方便, 重量280 g, 产品长度10.2 cm, 直径3.2 cm;2) 调整简便, 内置8个高亮度LED灯, 自动或手动调节或平衡颜色亮度;3) 操作简单, 一个拍照按钮;4) 外观简洁, 一根USB2.0连接线;5) 使用环境要求不高, 适用连接PC计算机使用, 操作系统Windows 2000/XP, Vista。
本文的应用研究在于, 手持式数码显微镜的USB2.0接口连接到PC的USB后, 利用Math Works公司开发的Matlab GUI创建Active X控件客户端, 调用数码显微镜的SDK中的控件控制数码显微镜, 实现对硅块表面粗糙程度的快速分类, 满足大生产中IPQC的要求。
1 Matlab GUI的Active X简介
Matlab的GUI (graphical user interface) 是Matlab提供的图形化的用户界面。在界面中我们可以像在VC++和VB中一样调用控件或组件执行交互任务。
GUI中的Active X提供了一种同外部程序交互的接口。使用Active X的客户端可以很容易地将不同厂商开发的Active X对象集成到Matilab的GUI的解决方案中。当然也可以用Matlab制作Active X对象后作为服务器被其他程序调用。表1是Matlab/Active X常用的命令。
2 数码显微镜的应用背景
本实例在Matlab环境中作为客户端调用数码显微镜厂商的Active X控件。并使用对象集成的各项属性、方法完成数码显微镜各项功能。
在太阳能硅片的制程中, 硅块磨面后的表面粗糙度对后序的硅片质量有影响, 一般情况下, 硅块表面粗糙度越大, 后序的切割硅片良品率会下降。为此考虑能否截留表面粗糙度大的硅块, 以避免流向切割工序, 这样可提高硅片切割良品率带来明显的生产优化。
硅块表面粗糙度一般为Ra0.1 mm左右, 目前采用日本三丰 (Mitutoyo) 的粗糙度测试仪SJ-201P检测, 该测试仪评价长度12.5 mm, 一次测量耗时20 s左右。一块硅块至少须要检测4个面的粗糙度, 显然耗时长而不能适应大规模检测。本实例在Matlab环境中创建客户端调用数码显微镜厂商的Active X控件, 运用数码显微镜区分硅块表面的粗糙度大小。该方法一次检测时间为5 s, 比原来检测方法缩短了3/4, 可适应大规模检测。
3 实现方法
用Matlab分析合格的粗糙度硅块表面的灰度特征。用其他硅块的表面灰度特征与之对比, 通过对比的差异大小来区分是否合格。
Matlab中新建timer控件, 设置每隔1 s执行读取图像数据, 计算图像灰度特征并显示在文本框中。按下数码显微镜上的按钮则把文本框中的数据保存在表格中并累加数据个数, 当保存的个数是5时, 则计算5个数的平均值并显示在另一个文本框中。
在画面中新建开始检测按钮和停止检测按钮。开始检测按钮用start语句启动timer定时器开始计时。
停止检测按钮则用stop语句停止timer控件停止计时。
数码显微镜选用型号为AM413ZT, 具有偏光功能, 对于观测物体镜面反光通过滤光及调节光的强弱, 达到很好的效果。本产品提供SDK, 安装软件:DNVideo X_V3.0.13_Installer。安装目录里的help文件里有详细的DNVideo X的Active X控件参考, 其属性和方法如表2所示。
3.1 获取图像数据
由于本次运用数码显微镜观测硅块表面质量, 所以第一是要获得硅块表面的视频。第二是获得硅块表面的图像数据, 将图像数据的分析结果显示在计算机画面中。因此新建一个画面文件扩展名为fig, 插入一个名为DNVideo X Control的控件activex1, 调整好控件在画面中的尺寸。
在画面文件初始化的过程中新建控件timer及初始化DNVideo X Control, 主要程序如下:
在timer_over的过程函数中获取图像数据并转化成Matlab常用的图像对应的矩阵格式, 主要程序如下:
3.2 显微镜上的按钮响应事件
在整个连接中, 按下数码显微镜上的按钮则保存数据在表格中。在fig画面初始过程中用invoke先执行了一次Micro Touch Pressed事件, 目的是加载保存数据的表格控件。随后为编程习惯注册了myclick2函数, 每当按下数码显微镜上的按钮时则执行myclick2函数。myclick2函数将文本框中的灰度特征值保存在表格中。
4 结论
用Visual BASIC, Visual C++可以创建和引用Active X, 数码显微镜SDK也提供了一些Sample供各种软件开发者参考。用Matlab做图像的解决方案可以节省开发时间, 虽也有一定的局限性, 但用Matlab做一些应用研究还是比较好的选择。
参考文献
[1]飞思科技产品研发中心.MATLAB 7基础与提高[M].北京:电子工业出版社, 2005.
[2]孙兆林.MATLAB 6.X图像处理[M].北京:清华大学出版社, 2002.