为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

基于VB与MATLAB的图像处理软件设计

2011-09-03 3页 pdf 190KB 26阅读

用户头像

is_487274

暂无简介

举报
基于VB与MATLAB的图像处理软件设计 技 术 创 新 中文核心期刊《微计算机信息》(管控一体化)2006年第 22卷第 10-3期 360元/年 邮局订阅号:82-946 《 现场总线技术应用 200例》 图像处理 基于 VB与 MATLAB的图像处理软件设计 The Realization of Image Processing Software Based on VB and MATLAB (中国海洋大学)崔桂彬 王汝霖 李春梅 李淑霞 Cui,Guibin Wang,Rulin Li,Chunmei Li,Shuxia 摘要:本文在简单分析各种...
基于VB与MATLAB的图像处理软件设计
技 术 创 新 中文核心期刊《微计算机信息》(管控一体化)2006年第 22卷第 10-3期 360元/年 邮局订阅号:82-946 《 现场总线技术应用 200例》 图像处理 基于 VB与 MATLAB的图像处理软件设计 The Realization of Image Processing Software Based on VB and MATLAB (中国海洋大学)崔桂彬 王汝霖 李春梅 李淑霞 Cui,Guibin Wang,Rulin Li,Chunmei Li,Shuxia 摘要:本文在简单分析各种接口方法优缺点后,采用一种基于 COM组件的 VB与 MATLAB的接口编程方法进行图像处理软 件的设计。此方法不仅实现了 VB可视化界面与 MATLAB强大图像处理功能的结合,而且有利于以后的研究中编制出更有 价值的软件。 关键词:VB;MATLAB;DLL;图像处理 中图分类号:TP317.4文献标识码:A Abstract:After the paper simply analyzes the advantage and disadvantage of all kinds of interface methods, it introduces a interface method of VB and MATLAB based on COM to design the software of image processing. This method not only achieves the integration of VB viewer and the great image processing function of MATLAB, but also contributes to develop the better software in the next in- vestigation. Key words:VB,MATLAB,DLL,Image Processing 文章编号:1008-0570(2006)10-3-0260-03 引言 图像信息处理是计算机信息处理的一个重要分 支,同时,随着计算机及数字影像技术的日趋成熟,使 得数字图像处理技术在智能控制、图像识别和神经网 络仿真等领域有广泛的应用前景。Microsoft公司研制、 开发的数学工具软件 MATLAB把当前常用的图像处 理程序以函数形式保存在其Image工具箱中,此工具 箱中提供了大量的图像变换和处理函数,而且功能仍 在不断丰富,因此是进行图像处理的理想工具,而且 MATLAB有其优秀的数值计算和卓越的数据可视化 能力,给用户带来了最简洁的开发环境。本文图像处 理系统的设计,就是在VB环境下调用MATLAB,充分 发挥它们高效的图形界面开发和强大的图像处理能 力。应用VB与MATLAB混合编程所建立的图像处理 系统对以后的科研工作及工程应用将提供有力的技 术支持。 1 VB与 MATLAB的混合编程机理 由于 MATLAB只提供了 C和 FORTRAN语言的 编程接口,无法对VB程序直接调用。VB与MATLAB 的混合编程,主要以VB作为第一界面,需要解决的问 题是如何在VB中调用 MATLAB函数以及如何将 VB 中获得的用户信息回传到MATLAB中去,以达到VB 和MATLAB的无缝连接。下面就是MATLAB与VB应 用程序接口编程的可行性分析。 (1)ActiveX部件 Microsoft把所有以 COM为基础的技术统称为 ActiveX技术,自动化是大多数ActiveX技术的基础。 在VB下通过ActiveX自动化接口可将MATLAB作为 Visual Basic语言的一个ActiveX部件调用。在VB中 ActiveX自动化MATLAB,首先创建ActiveX对象: DimMATLABas Object Set MATLAB = CreateObject ("MATLAB.Applica- tion") 然后用这种对象所包含的各种方法来实现对 MATLAB的调用,但这种方法最大的缺点是不能脱离 MATLAB工作环境。 (2)动态数据交换(DDE)技术 DDE是在 Windows环境下支持客户/服务器 (client/server)计算模式重要技术之一。VB支持 DDE 客户端功能,MATLAB提供 DDE服务功能。VB应用 程序首先通过确定服务器名和主题建立与 MATLAB 的DDE会话,服务器名和主题唯一的确定了这次会 话,在会话期间VB应用程序作为客户端,MATLAB作 为服务器端,客户端与服务器端可以就确定的项目 (Item)交换数据。同样这种方法也不能脱离MATLAB 工作环境。 (3)可执行文件技术 MATLAB产生的M文件不能直接在 VB中调用, 可利用mcc将M文件直接编译成.EXE文件,然后在 VB中声明三个API函数,最后使用shell命令即可实 现VB与MATLAB的无缝集成。 (4)将MATLAB函数转换为VB可用的DLL 崔桂彬:硕士研究生 国家自然科学基金资助项目(NO.60272054) 260- - 邮局订阅号:82-946360元/年 技 术 创 新 图像处理 《 PLC技术应用 200例》 您的论文得到两院院士关注 Matcom是一个从C++的编译器,它可以节省用户 的运算时间和内存要求。MathTools公司利用Matcom 技术编写了Mideva工具软件,它可以借用C++编译器 将 MATLAB下的 M文件转换为可被 VB调用的 DLL 动态链接库。 (5)引入MatrixVB MatrixVB是MathWorks针对VisualBasic提供的 一个 MATLAB库,它提供了 600多个函数,包括基本 的数学运算和功能强大的信号处理、线性代数、串运 算及图形图像处理功能等,为 VisualBasic提供了强 大的功能扩展。它可以弥补 VisualBasic内建函数的 不足,使用户更容易开发计算应用方面的代码,它富 有 MATLAB绘图的强大功能,数理统计功能,矩阵运 算功能。在VisualBasic中使用可避免重复性劳动,从 而减少开发人员实现算法和界面设计的困难。 本文是利用MATLAB的一个工具MATLABCOM Builder将所应用图像处理M函数文件转换为COM组 件,然后在VB集成开发环境中直接调用该组件,生成 的COM组件是进程内组件,是以DLL的形式存在的。 2图像处理软件设计 鉴于以上接口编程技术,我们完全可以充分利用 VB快速应用程序开发及MATLAB强大的数字图像处 理能力开发图像处理的相关软件。按照抽象程度不同 图像处理学内容可分为三个层次:狭义图像处理、图 像分析、图像理解,此软件的设计只是设计到图像处 理学内容中的狭义图像处理,也就是对图像进行操作 以改善图像的视觉效果,或对图像进行压缩编码以减 少所需存储空间或传输速度,它是一个从图像到图像 的过程。具体步骤如下: (1)M文件的编写 在 MATLAB中编写软件设计中所应用到的图像 处理的M文件,在这里我们编写了图像增强imagezq (x,i)(当i分别取1、2、3、4、5时分别对图像x进行的是 直方图均衡、图像增亮、图像变暗、增强对比度和降低 对比度的处理)、低通滤波、中值滤波、高通滤波等 M 文件。下面是图像增强M文件的建立: %一个集中了直方图均衡、图像增亮、图像变暗、 增加对比度、降低对比度等功能的函数 functionresult=imagezq(x,i) %x待处理的原图像名,i处理方法名,为一数字 globalresult; switchi case1 result=histeq(x);%直方图均衡 case2 result=imadjust(x,[],[.251]);%图像增亮 case3 result=imadjust(x,[],[0.75]);%图像变暗 case4 result=imadjust(x,[.25.75],[]);%增加对比度 case5 result=imadjust(x,[],[.25.75]);%降低对比度 otherwise warning('Invalidoperation'); end imshow(result); (2)设计COM组件 运行 MATLAB在命令行中输入 COMTOOL命令, 调用COM生成器,打开生成器窗口。在“File”菜单下 选择“NewProject”,打开“NewProjectSettings”对话框, 在“Componentname”框中输入组件名称:Imagpro。在 “Classname”类框中输入类名称,在这里与组件名称 一致,也可以使其他的,但不能与 M文件名相同。在 “Projectversion”框中取默认版本号 1.0,在“Projectdi- rectory”框中指定在编译和打包模型时,工程和相关文 件的存放位置默认时,工程目录由当前目录和组件名 自动组合生成。在“Compilecodein”选择生成 C或 C++代码。如果要包含 MATLAB句柄图形调用,则须 选择“UseHandleGraphicsLibrary”复选框,在工程中 包含 MATLAB的 C/C++图形库。设置完成点击“OK” 按钮,将设置保存在一个工程中。 工程创建之后,生成器主窗口的“Project”、 “Build”、“Component”等 3个菜单就变为可用。点击 “AddFile”按钮向工程中添加M文件,由于每次只能 添加一个,所以需多次操作将所用的 M文件添加进 去。“Remove”命令可以删除添加的文件,“Edit”命令可 以修改添加的命令。M文件添加完毕后,点击“Build” 下的“COMObject”选项来调用 MATLAB编译器进行 编译,生成对象文件及输出文件.DLL,并将.DLL自动 注册到系统中。当出现“StandaloneDLLbuildcom- plete”时,明已经注册成功。 (3)在VB中调用.DLL文件 打开VB选择新建工程,在菜单“工程”———“引 用”,在可引用表中选择“Imagpro1.0typelibrary”,将 在MATLAB中产生的组件.DLL引入VB中。 (4)窗体设计及代码编写 窗体菜单设计是采用下拉式,共包括文件、图像 增强、图像去噪、小波处理及帮助五个主菜单,文件中 包括打开、保存、退出子菜单,图像增强中包括直方图 均衡、图像增亮、图像变暗、增强对比度和降低对比度 子菜单;图像去噪主菜单中包括低通滤波、中值滤波、 高通滤波子菜单;小波处理将进一步完善与补充;帮 助菜单中是简单操作的说明。两个图像框控件Image1 和Image2,在其下面是两个标签控件label1和label2, 其Caption属性分别为“原图像”和“结果图像”。一个 通用对话框 CommonDialog1用于文件的打开及保存。 261- - 技 术 创 新 中文核心期刊《微计算机信息》(管控一体化)2006年第 22卷第 10-3期 360元/年 邮局订阅号:82-946 《 现场总线技术应用 200例》 图像处理 通过文件打开所要处理的软件,并将其在Image1中显 示,处理结果图像将在 Image2中显示,以使二者形成 对比,来分析处理结果并将其应用与实际。窗体如下 图所示: 图1窗体界面 相关代码如下: ’窗体级变量 PublicFilenameAsString PrivateimageAsimagpro.imagpro'定义类实例 ’窗体装载时,创建新的类变量 PrivateSubForm_Load() Setimage=Newimagpro.imagpro EndSub ’打开图像显示在Image1图像框中 PrivateSubopen_Click() CommonDialog1.Filter="(*.*)|*.*" CommonDialog1.ShowOpen Filename=CommonDialog1.Filename Image1.Picture=LoadPicture(Filename) EndSub 当VB中调用M函数对图像进行处理时,其形式为: CallCOM类实例名.方法(M函数名)(表) 以下两幅图像分别是直方图均衡和低通滤波处 理的结果: 图2直方图均衡处理 3结束语 本文利用MATLAB的COM生成器,将MATLAB 丰富的图像处理函数和VB高效的图形界面开发有机 的结合起来进行图像处理软件的设计,大大提高了图 像处理的操作性,且可脱离MATLAB工作环境进行。 实现了 VB程序与MATLAB的成功结合,为以后软件 的进一步扩展及开发其他实际应用程序积累了经验。 图3低通滤波处理 本文的创新点:基于 COM组件实现了图像的实 时可视化处理,将 MATLAB丰富的图像处理函数和 VB高效的图形界面开发有机的结合起来,且有助于高 效图像处理软件的开发。 参考文献: [1]刘新铭,孟维绢等,用 VB实现 MATLAB的图像处理功能,上 海电机技术高等专科学校学报,2004.12(4):250~253 [2]肖飞,于向军,吕震中,用 InTouch、MATLAB和 VC++开发工 业监控系统软件,微计算机信息,2003第19卷11期:39~41 [3]胡智文,邓铁如等,在 VB应用程序中集成 MATLAB,计算机 工程与应用,2003.7:104~106 [4]MatrixVBUser'sGuide.TheMathWorksInc.2000 作者简介:崔桂彬(1980-)女,汉族,硕士研究生,研究 方向为图像处理软件开发、图像处理, E-mail: binbincui8013@163.com;王汝霖(1946--)男,汉族,教 授,研究方向为信号与信息处理、现代电子测量方法 与数据处理;李春梅(1981--)女,汉族,硕士研究生, 研究方向为多源图像融合、图像处理;李淑霞(1981--) 女,汉族,硕士研究生,研究方向为图像去噪。 (266071山东青岛 中国海洋大学 电子工程系) 崔桂彬 王汝霖 李春梅 李淑霞 (Department of Electronics and Engineering, Ocean UniversityofChina,Qingdao,Shandong,China266071)Cui, GuibinWang,RulinLi,ChunmeiLi,Shuxia 通讯地址:(266071山东省青岛市中国海洋大学浮山 校区电子工程系研二)崔桂彬 (投稿日期:2006.2.25)(修稿日期:2006.3.22) 262- -
/
本文档为【基于VB与MATLAB的图像处理软件设计】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索