由来:* q8 A3 A: J8 j, V9 X
手头上有一组100多张的jpg文件(尺寸一致),想把它们通过matlab弄成avi文件,然而通过sortrows函数对这些文件名排序时,发现它的顺序是
% Y8 d# M+ i7 ]" b9 C8 v1.jpg" I, O! S: ?2 f: F: Z0 `# F7 H3 Q
10.jpg
% B8 L7 f6 s& [' z# T2 H100.jpg
# q( S X' J% d: D101.jpg
1 m' @' e* j% S* x# B3 M% }, ]就是说sortrows是按文件的ASCII来排序的,没有考虑到字符串的长度因素。
/ v, F7 Y4 y; c C! z' l: ^- d. C W8 P( t. u. S; J. O0 o
当然如果文件名命名是001.jpg,002.jpg之类的。那么排序应当没有问题。5 e- I' o2 v2 I& |% S6 {3 E. [7 V
当然如果文件名是连续的话,我们也可以用num2str(i)来构建相应的文件名。
, A" D9 j6 G* i9 p如果不是上面两种情况的话,本文就是实现从小到大排序。
2 o& k X- X M- JU8 m: n" i( }' J& v& M
0 G8 D' @1 S5 \4 b! H提示1:文件名的获取% i" D l1 v' r& n7 z4 U
通过dir可以得到目录下的文件名,比如:6 J) J8 R7 H1 ]8 H, v$ {; t
jpgf