CreateImages (line 184) I = I(1:actual_files);
背景:Matlab、制作数据集函数 CreateImage出错
CreateImages.m的作者是
% @author Matthew Zeiler
% @date Mar 11, 2010
(嫌调试过程太长的同学拉到最下查看解决方案即可)
在调别人的开源代码时,遇到一个错误
报错的位置如下
出错的具体位置
这个错误刚开始很无解,一直以为是Demo的问题,没考虑到函数里头的错误。
查了一遍又一遍的原图路径也没发现问题所在。
于是沿着 I (大写的i)的定义逐行检查
发现 I 是来自 IMG,IMG来自与img_name,img_name来自于结构体 files
而这个最关键的files,来自于上上上面的语句
[~,files] = split_folders_files(subdir);
所以单步调试看工作空间,发现这句话里面的files其实都是空的,没读到图像。
也不知道为啥,感觉不应该出这个错误,解决也很简单,将~与files调换位置即可。
[files,~] = split_folders_files(subdir);
这样就搞掂了,可能是matlab版本的问题,也有可能是开源的作者手误,或者电脑的问题?(可能性不大)