Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在MATLAB中按顺序读取所有文件_Matlab_Image Processing - Fatal编程技术网

在MATLAB中按顺序读取所有文件

在MATLAB中按顺序读取所有文件,matlab,image-processing,Matlab,Image Processing,我正在尝试使用此代码读取MATLAB文件夹中的所有图像 flst=dir(str_Expfold); 但它向我展示了这样的输出。这不是我想要的顺序。 有谁能告诉我如何按顺序阅读所有这些内容吗? 要给出downmark,也请解释其原因。在Matlab论坛中,没有指定dir命令输出排序,但它似乎是纯字母顺序(我的意思是它不首先考虑排序器文件名)。因此,您必须手动对名称进行排序。以下代码取自(您可能希望更改文件扩展名): 按字母顺序,depth10位于depth2之前。如果可能,在创建string

我正在尝试使用此代码读取MATLAB文件夹中的所有图像

flst=dir(str_Expfold);
但它向我展示了这样的输出。这不是我想要的顺序。 有谁能告诉我如何按顺序阅读所有这些内容吗?


要给出downmark,也请解释其原因。

在Matlab论坛中,没有指定dir命令输出排序,但它似乎是纯字母顺序(我的意思是它不首先考虑排序器文件名)。因此,您必须手动对名称进行排序。以下代码取自(您可能希望更改文件扩展名):


按字母顺序,
depth10
位于
depth2
之前。如果可能,在创建
string+num
类型文件名时,请使用固定宽度的数字部分(例如
depth01
depth02
)-这样可以避免排序问题

但是,如果您一直使用现有的文件名,并且知道文件名模式,那么您根本就不用麻烦使用
dir
,而是首先按照正确的顺序创建文件名列表:

for n = 1:50
   fname = sprintf('depth%d.png',n);
   % code to read and process images goes here
end

我们看不到你上传的图像,但我猜它们只是图像文件名。是吗?是的,它是从depth1、depth2…开始的图像文件。。。。。。depth50最初位于文件夹中。但是当我在Matlab中读取文件夹时,顺序是这样的depth1,Depth10,depth11,depth12…depth19,depth2,depth21,.depth29,depth3….然后您必须对名称进行排序,因为您无法更改dir输出。看看这个:我没有投反对票,但很可能是因为你上传的图片。
for n = 1:50
   fname = sprintf('depth%d.png',n);
   % code to read and process images goes here
end