- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
使用C语言读取mat文件中的数据要点
使用C++语言读取*.mat文件中的数据简介:借助于Matlab的接口函数,在Visual Studio中使用C++语言读取*.mat文件中的数据(这里主要是2维矩阵(灰度图像)和3维矩阵(彩色图像))到OpenCV中的Mat数据结构中并显示图像,同时实现将灰度图像转化为伪彩色图像(类型为Matlab中的colormap jet),最后调用Windows的API函数实现窗口尺寸的自由调整。工具:(1)Matlab R2015b(x64)(2)Visual Studio 2013(3)OpenCV 3.0.0在Visual Studio配置Matlab和OpenCV假设Matlab的安装路径为“E:\Program Files\MATLAB”,OpenCV的安装路径为“E:\Program Files\opencv”。配置环境变量在“控制面板》系统和安全》系统》高级系统设置》环境变量》系统变量”中找到变量名“Path”,编辑之,在变量值的末尾添加“;E:\Program Files\MATLAB\R2015b\bin\win64;E:\Program Files\opencv\build\x64\vc12\bin”。如图1所示。图1配置配置管理器在Visual Studio 2013中新建一个“Win32控制台应用程序”,在菜单栏“生成”中打开“配置管理器”选项。将“活动解决方案平台”中的“Win32”选为(新建为)“x64”。如图2所示。图2配置属性管理器在菜单栏“视图”中打开“属性管理器”选项,右键点击Debug|x64下的Microsoft.Cpp.x64.user并打开“属性”选项,如图3所示。在“Microsoft.Cpp.x64.user属性页”中找到“通用属性”下的“VC++目录”,在其右侧的“包含目录”下添加路径“E:\Program Files\opencv\build\include”“E:\Program Files\opencv\build\include\opencv”“E:\Program Files\opencv\build\include\opencv2”“E:\Program Files\MATLAB\R2015b\extern\include”“E:\Program Files\MATLAB\R2015b\extern\include\win64”一共5个路径。然后在“库目录”下添加路径“E:\Program Files\opencv\build\x64\vc12\lib”“E:\Program Files\MATLAB\R2015b\extern\lib\win64\microsoft”一共2个路径,如图4所示。在“通用属性”下的“链接器”中找到“输入”选项,在右侧的“附加依赖项”中添加库“opencv_ts300.lib”、“opencv_world300d.lib”、“opencv_world300.lib”、“libmat.lib”、“libmx.lib”、“libmex.lib”、“libeng.lib”,一共7个库,如图5所示。图3图4图5到此,所有配置工作到此结束。data.mat文件中数据介绍为了便于测试,本文在Matlab中创建了3个变量:mat2D、mat3D、lena,并使用命令“save”将3个变量保存到data.mat中。3个变量的说明如表1所示。变量mat2D是一个4×5的矩阵,在Matlab的表示如图6所示。变量mat3D是一个2×4×3的矩阵,在Matlab的表示如图7所示。变量lena是一个结构体,其说明如表2所示。域lenaColor是400×500的彩色lena图像。域lenaGray是400×500的灰度lena图像。图6图7表1NameValuemat2D4*5 doublemat3D2*4*3doublelena1*1 struct表2FiledValuelenaColor400*500*3 uint8lenaGray400*500 uint8读取data.mat文件中的数据相关函数介绍matOpen:打开*.mat文件;如果想打开文件“data.mat”,则MATFile* pMF=matOpen(“data.mat”,”r”);matClose;关闭*.mat文件;如果想关闭文件“data.mat”,则matClose(pMF);matGetVariable:获取变量,对应于表1中的“Name”;如果想获取变量“mat3D”,则mxArray* pA = matGetVariable(pMF,”mat3D”);matGetPr:获取变量的实部数据;如果想获取变量“mat3D”的实部,则double* pAReal = mxGetPr(pA);mx
您可能关注的文档
最近下载
- 足疗技师心态培训课件.ppt
- 初中道德与法治:时政述评推动新质生产力,奋楫逐浪向未来.pptx
- 2024年湖南铁道职业技术学院单招职业技能测试题库及答案解析.docx VIP
- 2024年湖南铁道职业技术学院单招职业技能测试题库及答案解析.docx VIP
- 2024年湖南铁道职业技术学院单招职业技能测试题库及答案解析.docx VIP
- 2025年湖南铁道职业技术学院单招职业技能测试题库及答案解析2025.pdf VIP
- 2024年湖南铁道职业技术学院单招职业技能测试题库及答案解析 .pdf VIP
- 人教版数学小学五年级下册全册课件(2024年3月修订).pptx
- 新人教版五年级下册数学全册PPT课件.pptx
- 皮肤性病科治疗技术操作规范2023版.docx
文档评论(0)