2VC++与MATLAB混合编程方法在图像处理中的应用
2014-10-21毕雪华王超
毕雪华 王超
【摘要】文章介绍了Visual C++作为一种面向对象软件开发语言的长处、Matlab引擎(Matlab Engine)的特点及其在图像处理方面的优势,并介绍了一种应用VC++ 调用Matlab引擎本方法实现VC++与Matlab的混合编程,并将该方法应用于数字图像处理中。
【关键词】Visual C++;Matlab引擎;图像处理;混合编程
1.引言
Matlab,具有非常强大的数值计算、数据分析处理、系统分析、图形显示甚至符号运算的功能。VC++是当前Windows 下的主要编程语言之一,把Matlab与Visual C++在图像处理的应用中结合起来,将会大大提高编程效率。本文通过在Visual C++中调用Matlab引擎的方法进行图像处理混合编程,这样既方便了调用Matlab工具箱中的图像处理函数,又精简了源程序代码,还保留了Visual C++面向对象及可视化等WINDOWS程序风格和快速处理数据的能力,虽然这种方法并不能脱离Matlab环境独立运行,但是事实证明:在需要Matlab强大工具箱支持的情况下,这种方法是行之有效的最好解决办法。
2.方法
2.1 混合编程简介
Matlab与高级语言接口的方法有很多种,按各种方法要求的环境不同,分为两类:一类为需要Matlab环境支持的调用方法,这种方法要求系统安装Matlab环境,如:调用引擎函数库、使用ActiveX等。另一类是能生成独立可执行程序的方法,这种方法不再需要安装Matlab环境,而只需要拷贝部分Matlab的动态链接库。这类方法如:直接调用数学函数库、使用编译生成的独立可执行代码等。
2.2 Matlab引擎介绍
Matlab engine提供了一组Matlab API函数(Application Program Interface),我们通过一种专门的对象类型———Matlab数组(mxArray)来完成Matlab引擎与Visual C++之间的数据交换。我们不必关心Matlab Engine是如何实现的,只要调用这些API函数即可。……
