MatLab GUI Load .mat File 导入mat文件


 

在MatLab中,我们用GUI时,有时候需要导入mat格式的图片,但是在GUI中调用load和在命令行里调用load不一样,在命令行里调用load('im.mat'),加载进去是uint8的矩阵,但是我们在GUI中写代码加进去,默认得到的是一个struct结构体,如果我们此时强行用imshow来显示导入的数据,会出现如下错误:

??? Error using ==> iptcheckinput
Function IMAGEDISPLAYVALIDATEPARAMS expected its first input, I,
to be one of these types:

  double, single, uint8, uint16, uint32, int8, int16, int32, logical

Instead its type was struct.

 

为了取出其中的图片数据,可浪费了我好几个小时候,终于找到了方法,这样我们就可以在GUI中的axes中显示出图片了,参见如下:

 

% Load im.mat
filename = uigetfile('*.mat');
img = cell2mat(struct2cell(load(filename)));
axes(handles.axes_1);
imshow(img);

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM