文档详情

Matlab与VC++混合编程技术在图像处理中的应用研究.doc

发布:2018-03-14约5.69千字共9页下载文档
文本预览下载声明
Matlab与VC++混合编程技术在图像处理中的应用研究   摘要:在简介Matlab与VC++混合编程常用技术的基础上,重点阐述了基于Matcom Add-in进行混合编程的主要步骤及其在应用中需要注意的问题。结合实际工程需要将混合编程技术应用于弱小目标图像处理中,该方法可以提高软件开发编程效率,缩短软件开发周期。   关键词:Matlab;VC++;混合编程;图像处理   中图分类号:TP391文献标识码:A文章编号:1009-3044(2011)22-5450-03   Application Research of Matlab and VC++ Mixed Programming in Image Processing   LI Zhuo, LI Yi-min   (College of Computer and Technology, Beihua University, Jilin 132021, China)   Abstract: Based on the introduction of Matlab and VC++ mixed programming technology which is commonly used, the main steps and attention in the application of mixed programming by Matcom Add-in are focused on. Combined with practical engineering needs, mixed programming techniques are used in small target image processing, and it can improve the efficiency of software development and reduce software development cycle.   Key words: Matlab; VC++; mixed programming; image processing   Matlab以其强大的科学计算和绘图功能,在许多科学领域中成为算法研究和应用开发的基本工具。虽然Matlab是一个完全独立的编程和数据运算集成环境,但也存在某些缺点,如:Matlab是一种解释性语言,运行效率却比C++语言低下;Matlab程序不能脱离其环境运行;与通用的编程平台相比在图形用户界面的设计上还不够灵活。Matlab存在的以上缺点限制了它作为通用的软件开发平台。目前,在Windows平台下的图像处理系统开发中,VC++是主要的开发工具,尽管其功能强大和灵活,但编程效率较低,尤其是当需要快算验证算法时。因此,实现Matlab和VC++的混合编程,有助于发挥VC++和Matlab各自的优势,降低开发难度,缩短编程时间,提高软件开发效率。   本文在阐述Matlab与VC++常用的混合编程技术的基础上,重点介绍Matcom Add-in实现混合编程的具体方法及其在图像处理方面的应用。   1 Matlab与VC++常用的混合编程技术简介   1.1 通过使用Matlab引擎方式   Matlab 的引擎库提供一些接口函数,利用这些接口函数,用户可以在自己的程序中以计算引擎方式调用Matlab[1]。这样,将Matlab作为一个计算引擎,在后台运行,VC++语言程序作为客户机在前端运行。Matlab引擎函数库在用户程序与Matlab进程之间架起桥梁,用户程序正是利用这些引擎函数库来实现和MATLAB之间的信息传递。   采用Matlab引擎方式,能利用Matlab全部功能,但是其不足之处在于需要Matlab运行于后台,即没有脱离Matlab的环境,从而导致代码执行效率低下,因此在实际软件开发中一般不采用这种方法。   1.2 通过Matlab自带的编译器   通过Matlab自带的编译器,可以将M程序文件转换成C/C++代码文件,并生成必要的DLL,将其添加到VC++工程中一起编译,生成可独立执行的应用程序。   采用这种方法仍然存在着一些限制,例如:转换后的C++代码可读性不强,代码冗余度较高[2];对于Matlab本身提供的图形界面程序,一般来说,都无法通过Matlab自带的编译器转换成C/C++代码。   1.3 通过使用Matcom工具   Matcom是Mathtools公司推出的世界上第一个由Matlab到C++的编译开发软件平台。通过必要的设置,可以直接实现与VC++的混合编程,它可将Matlab的M文件转化成同等功能的C++源代码,从而使应用程序脱离Matlab环境独立执行。这样,既保持了
显示全部
相似文档