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);

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值