- 1、本文档共22页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
7.6用Matrix(LIB)C++库实现图像变换的VC++编程.ppt
7.6 用MatrixLIBC++库实现图像
变换的VC++编程 ; 2. 在C++工程中集成MatrixLIBC++数学库
为了将MatrixLIBC++库集成到C++的工程文件中,需要做如下的操作:
(1) 将库文件v4501v.lib库文件添加到C++的工程中;
(2) 将库声明头文件matlib.h包含到工程中;
(3) 初始化库;
(4) 创建矩阵变量;
(5) 访问矩阵单元;
(6) 调用MatrixLIBC++库函数完成矩阵操作。 ; 为了使读者掌握如何在VC++中使用MatrixLIBC++数学库的方法,下面详细介绍从创建工程到最后调用MatrixLIBC++库函数的全过程。
1) 创建一个新的VC++工程[HTSS]
在VC++中,采用默认选项创建一个MDI MFC工程。当然MatrixLIBC++库可以用在任何其他类型的工程中,如Console 、 OWL、ActiveX等。 ; 2) 将库文件添加???工程中
为使C++编译器能够将MatrixLIBC++库链接到最后的执行文件中去,必须将MatrixLIBC++库加入到C++的工程文件中。用菜单命令Project/Add to Project/Files…将C:\matcom45\lib\v4501v.lib(如果v4501v.lib存在不同的文件夹中,请选择正确的路径)加入到C++工程中。 ; 3) 包含matlib.h头文件
在要使用MatrixLIBC++库的.h或.cpp文件的头部, 将matlib.h头文件包含到工程中,即在使用MatrixLIBC++库的.h或.cpp文件头部添加如下代码:
#include matlib.h
同时用菜单命令Tools/Options…/Directories设置matlib.h所在的路径,以便编译器能找到相应的头文件。 ; 4)初始化MatrixLIBC++库
在调用MatrixLIBC++库函数之前,要用initM(MATCOM_VERSION)函数来初始化类库调用,并用exitM()函数来结束类库调用, 故还应在.cpp 中加入下列代码:
initM(MATCOM_VERSION);
//用MatrixLIBC++库函数的调用完成矩阵操作
exitM();
当然可以在一个类的构造函数中添加
initM(MATCOM_VERSION); ;以完成类库的初始化工作。
可在该类的析构函数中添加
exitM();
以完成结束类库调用的工作。
MATCOM_VERSION参数是一个在matlib.h头文件中定义的值为4501的常量(不同版本其值有所差异), 它保证了动态链接库与matlib.h的匹配。 ; 5) 创建矩阵变量
添加了MatrixLIBC++库后,可用关键字Mm来定义中矩阵类型变量, 例如:
Mm a , b, x;
这条VC++语句在当前工程文件中创建了a、b、x三个矩阵变量,但这时a、b和x还只是空的矩阵, 它们的矩阵单元还不包含任何的值。 ; 6) 访问矩阵单元
矩阵单元的访问包括读和写操作,主要有:通过.r()来访问矩阵的实部,通过.i()来访问矩阵的虚部; 通过BR()函数把一个数据列表赋给矩阵各个单元;通过.addr()或.addi()返回矩阵变量的实部或虚部的内存指针来完成对矩阵单元的访问。 ; 3. 安装与MatrixLIBC++库对应的动态链接库
当采用MatrixLIBC++数学库完成矩阵的运算时, 要求系统中有相关的ago4501.dll, v4501v.dll, opengl32.dll和glu32.dll四个动态链接库文件。如果系统中安装有Matcom4.5,这些动态链接库文件将会自动安装在window\system\或window\system32\下, 如果系统没有安装Matcom4.5, 只需将这四个动态链接库文件拷贝到相应目录下即可。 ;7.6.2 创建图像数据矩阵
为利用矩阵运算完成图像变换, 首先应将其图像数据赋给矩阵变量。
文档评论(0)