推荐星级:
  • 1
  • 2
  • 3
  • 4
  • 5

利用Matlab引擎实现VC和Matlab的混合编程

更新时间:2019-08-01 07:00:11 大小:16K 上传用户:杨义查看TA发布的资源 标签:matlab 下载积分:1分 评价赚积分 (如何评价?) 打赏 收藏 评论(0) 举报

资料介绍

文档为利用Matlab引擎实现VC和Matlab的混合编程讲解文档,是一份不错的参考资料,感兴趣的可以下载看看,,,,,,,,,,,,,,

部分文件列表

文件名 大小
利用Matlab引擎实现VC和Matlab的混合编程.pdf 16K

【关注B站账户领20积分】

部分页面预览

(完整内容请下载后查看)
2000 6 月 ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ脑 ꢀ学 ꢀ习 ꢀꢀꢀꢀꢀꢀꢀꢀꢀ3 期  
利用 Matlab 引擎实现 VC Matlab 的混合编程  
 3 丽萍 ꢀ信黔 ꢀ小成  
Implementation of VC and Matlab Complex Programming by means of Matlab Engineer  
Jiang Yi Tang Liping Bian Xinqian Shi Xiaocheng  
MathWorks 公司的 Matlab 具有强大的符值计  
阵计算能力以及计算结果可视化能力 ,是一个功能强  
大的计算机辅助设计工是由于 Matlab 在程序编写方  
面的一些局限性 ,使得它在处理许多问题时缺乏灵活性 ,而  
VC + + 在这一方面的功能却是十分强大此在 Windows  
环境下实现 VC + + Matlab 的混合编程将是一种极为强大  
的编程手将更加有效地发挥 VC + + Matlab 各自的  
。  
传递命令的数据信。  
我们通过一种专门的对象类型 - Matlab 数组 mxArray  
(
)
(
来完成 Matlab 引擎与 VC 之间的数据交换 Matlab 语言仅用  
这种对象类型进行各种处理所有的变量都用 Matlab 组  
(
)
)
mxArray 来存储 Matlab 提供了语言下各种数组处理函  
数说明详见帮助文件中的 Application Program Interface。  
1 列出了几个常用的 Matlab 引擎的 C 语言调用函。  
ꢀ表 1  
VC + + Matlab 的接口有很多种方法 ,本文介绍一种十  
分简便而又实用的方法来实现 VC + + Matlab 的接在  
本文的下述讨论中 ,使用的是 VC + + 6.0 版本 ,Matlab5.2 。  
函数名  
功能  
engOpen  
engEvalString  
EngPutArray  
engGetArray  
engClose  
打开 Matlab 引擎  
Matlab 引擎中执行输入的 Matlab 命令  
将数据存入 Matlab 引擎  
1 Matlab 引擎简介  
Matlab 引擎中取出数据  
关闭 Matlab 引擎  
(
)
Matlab 引擎采用客户机/ 服务器 Client/ Sever 计算方。  
实际应用过程中 ,VC C 语言或 C + + 语言的程序作为  
前端客户机程序 ,它从 Matlab 引擎接收数据信息 ,并与引擎  
2 VC Matlab 接口库的产生  
想在 VC 环境下利用 Matlab 引擎实现 VC Matlab 的  
()  
virtual int GetHeight  
{return m- Height ; }  
protected :  
HGLOBAL m- hDib ;  
int m- Bits ;  
int m- Width ;  
int m- Height ;  
}
int m- Colors ;  
类由 Load 函数根据所读入图像文件的扩展名来完成  
相应格式的图像到 DIB 图像的转换工作 ;当要保存为指定格  
式的图像时 ,Save 函数中将 DIB 图像转换为该指定的格  
Draw 中调用 Windows 提供的用于显示内存中 DIB 图  
像的 API 函数 StretchDIBits ,并根据原图像中的相应信息设置  
调色板 ,便可以显示由 Load 函数读入内存的图。  
(
)
3 像处理 CImageProcess 类  
像处理所包含的内容非常广 ,在所开发的图像处理软  
件中应加入哪些内容 ,要根据自己的需要来确了体现  
VC + + 面向对象编程的特点 ,我们仍将图像处理的具体操作  
封装在一个类类的定义如下 :  
class CImageProcess :CObject  
{
/ / 参数 n 为旋转的角度  
/ / 对图像进行边缘增强  
(
)
(
)
void Rotate CDibImage 3 pDibImage , int n  
;
void EdgeEnhance CDibImage 3 pDibImage  
;
(
)
DECLARE- SERIAL CImageProcess  
/ / 将图像缩放成指定的宽度和高度  
/ / 下面可加入其它图像处理函数  
(
void Stretch  
NewWidth , int NewHeight  
/ / 对图像进行中值滤波  
CDibImage 3 pDibImage , int  
⋯ ⋯  
Public :  
)
;
protected :  
(
)
;
CImageProcess CDibImage 3 pDibImage  
CImageProcess CDIBImage 3 pDIBImage  
CDibImage 3 pDibImage ;  
}
(
)
;
(
)
;
void MedianFilter CDibImage 3 pDibImage  
Public :  
这个类中只给出旋值滤波和边缘增强等  
几种处理方法 ,另外象直方图均像平滑等其它算法 ,读  
者可根据自己的具体需要添加相应的处理函于图像  
处理方法的代码比较长 ,因此这里只给出了相应的函数原  
型。  
4 结 ꢀ束 ꢀ语  
文是利用面向对象编程的基本思想 ,根据自己编程的  
实际需要 ,扩展了 CString 类并创建了专门用于图像处理的两  
(
)
个类 CDibImage 类和 CImageProcess 类 与大家进行交。  
(
)
 尔滨工程大学自动化学院硕士研究生 150001 ꢀꢀ稿日期 :1999 - 12 - 22  
· 30 ·  
© 1995-2004 Tsinghua Tongfang Optical Disc Co., Ltd. All rights reserved.  

全部评论(0)

暂无评论

上传资源 上传优质资源有赏金

  • 打赏
  • 30日榜单

推荐下载