- 2
- 0
- 约4.67千字
- 约 7页
- 2018-10-15 发布于重庆
- 举报
浅析VC++与MATLAB混合编程方法在图像处理中的应用
浅析VC++与MATLAB混合编程方法在图像处理中的应用
2006年第2期
《总第88期)
大众科技
DAZHONGKEJ
No.2,2006
(CumulativelyNo.88)
浅析VC++与MATLAB混合编程方法在图像处理中的应用
杨丽娜
(西安建筑科技大学管理学院,陕西西安710000)
【摘要】文章介绍了Visualc++作为面向对象软件开发语言的长处,Matlab引擎的特点及其在图像处理方面的优势,提出
了新的应用viSua1C++和Ma廿ab混合编程的方法,并结合实例介绍了该方法在图像处理应用中的实现.
【关键词】可视化;Mat.1ab引擎;混合编程;图像处理
【中图分类号】TP31【文献标识码】A【文章编号】1008—1151(2006)02—0073—02
一
,引言
VisualC++是一种可视化编程语言.它集成了功能强大
的编辑器,编译器,链接器,调试器,AppWizard,ClassWiz.
ard,AppStudio等多种多样的可视化编程工具,利用它可以完
成各种应用程序的开发.此外VisualC++语言与其它高级语
言相比有很高的代码执行效率.但是在编写例如数字图像处
理方面的程序时就需要比较复杂的算法,编写得不好就会影
响程序的运行速度.
Matlab是一种高性能的数值计算和可视化编程软件,在
数值分析,信号处理,系统辨识,特殊函数和图形处理等方面
具有广泛的应用.它将数值计算与图形可视化功能完美结合,
具有开放的设计理念,提供了多个与外部程序的接口,而且提
供多个面向不同领域扩展的工具箱支持,这些都使得Madab
在许多学科领域中成为计算机辅助设计与分析,算法研究和
应用开发的基本工具和首选平台.特别是Maflab在图像处理
方面更具有明显的优势.它支持多达15种不同格式的图像
文件;具有强大的矩阵运算功能,在进行一些简单的图像变换
时可以避免很多繁琐的计算;图形显示方便,甚至在调试过程
中也能随时观察图形的变化;带有丰富的图像处理函数库.
由上可见,如果把Maflab与VisualC++在图像处理的应
用中结合起来,将会大大提高编程效率.本文通过在Visual
C++中调用Matlab引擎的方法进行图像处理混合编程,这样
既方便了调用Maflab工具箱中的图像处理函数,又精简了源
程序代码.还保留了VisualC++面向对象及可视化等Win-
dows程序风格和快速处理数据的能力.
二,VisuaIC++与Matlab混合编程环境
(_一)Matlab引擎
Matlab引擎采用客户机,服务器(c/s)计算模式.实际应
用过程中,用户编写的高级语言的程序作为前端客户机程序,
Matlab引擎接收它传来的数据信息,并给引擎传递执行命令
所需要的信息.
Maflabengine提供了一组MadabAPI函数(Apphcafion
ProgramInterface).我们通过一种专门的对象类型——Matlab
数组Array)来完成Madab引擎与VisualC++之间的数据交
换.我们不必关心MaflabEngine是如何实现的,只要调用这
些API函数即可.
下面是几个常用的MaflabAPI函数:
1.EngOpen:打开,开启Maflab引擎;
2.Engclose:关闭Maflab引擎;
3.EngGetArray:从Maflabengine中获得一个Maflab矩
【收稿日期】2005-11-24
阵.用于数据交换
4.EngEvalString:在Maflab引擎中执行输入的Maflab命令;
5.EngPutVariable:从应用程序向Madab引擎发送一个
Madab矩阵(mxArray类型),用于数据交换;
6.EngOutputBuffer:创建字符缓冲区以获取Madab文本输出
f二)MaHab与VisualC++混合编程环境
操作系统:WindowsXP
软件环境:VisualC++6.0中文版Madab7.0
工程属性设置:
1.在VisualC++环境下新建一个基于对话框的MFC(EXE)
类型的工程
2.设置工程属性在工具栏的工程菜单中选择设置子
菜单.然后:
(1)在C/C++标签下的分类下拉列表框中选择预处
理器,在附加包含路径文本框中加入Maflab软件的in_
dude文件夹安装路径.
(2)在连接标签下的分类下拉列表框里选择常规
选项.在对象,库模块文本框里添加Maflab库文件libeng.
1ib,libmx.1ib,libmat.1ib和maflab.1ib.
(3)在连接标签下的分类下拉列表框里选择输入
选项.在附加库路径文本框里面添加以上四个库文件所在
文件夹的路径.
(4)若用的是旧版本的Maflab,且没有自带以上所需的库
文件.则需要
原创力文档

文档评论(0)