matlab如何循环读进文件名带字母的序列图片
例如文件名是abc001,abc002,abc003,abc004.............abc1000想用循环来做,
用matlab的imread如何操作呢?:loveliness: 例如,abc0456
k=456;
chara=['abc' num2str(0) num2str(k)];
imread(chara);
不行吗? 原帖由 cmcc 于 2007-10-15 21:43 发表 http://www.chinavib.com/forum/images/common/back.gif
例如文件名是abc001,abc002,abc003,abc004.............abc1000
想用循环来做,
用matlab的imread如何操作呢?:loveliness:
搜索论坛,此问题早就讨论过 请楼主发帖前,先看看精华区 本人考虑到直接给出,会快点,实际上却是应该搜索下精华。但是不知道搜索什么关键词,应该可以提问吧
回复 #4 eight 的帖子
事实上已经搜索过。但我这个问题比较蹊跷,因为第一个文件是abc0001,而最后一个是abc1000,使用for,第一个不能是0001把 原帖由 donkeyxu 于 2007-10-15 22:40 发表 http://www.chinavib.com/forum/images/common/back.gif
本人考虑到直接给出,会快点,实际上却是应该搜索下精华。但是不知道搜索什么关键词,应该可以提问吧
重复讨论的问题,我们直接给答案只会增加版友的惰性。至于关键词嘛、、、、自己多想想、、
回复 #7 花如月 的帖子
呵呵,是这样,但确实比较蹊跷[ 本帖最后由 eight 于 2007-10-15 23:27 编辑 ]
回复 #6 cmcc 的帖子
可以IF判断数值范围,然后在转换的字符串前面,加不同个数的0,记得貌似还有更好的方法,不过暂时想不起来了。 原帖由 cmcc 于 2007-10-15 22:43 发表 http://www.chinavib.com/forum/images/common/back.gif事实上已经搜索过。
但我这个问题比较蹊跷,因为第一个文件是abc0001,而最后一个是abc1000,使用for,第一个不能是0001把
你确实在精华区查找过吗?如果认真看 [原创]使用文本文件(.txt)进行数据存取的技巧总结 这个帖子,以下文字不可能找不到:
3. 文件名命名问题:
文件名为 abc00001,abc00002,... abc00009,abc00010,... abc00099,abc00100,...abc00879.准备把这些文件名给放到一个数组里面去。
解答:
a=cell(879,1);
for k=1:879
a{k} = sprintf('%.5d',k);
end
[ 本帖最后由 eight 于 2007-10-16 10:15 编辑 ]
回复 #10 eight 的帖子
会出错,改了下:a=char(zeros(879,5));
for k=1:879
a(k,:) = sprintf('%.5d',k);
end 原帖由 donkeyxu 于 2007-10-16 09:57 发表 http://www.chinavib.com/forum/images/common/back.gif
会出错,改了下:
a=char(zeros(879,5));
for k=1:879
a(k,:) = sprintf('%.5d',k);
end
你把 a 的维数修改了,然后还是使用我的代码,当然出错。我只是给个提示,并不是告诉你完整的答案,有点 matlab 的基础就可以自行解决
回复 #12 eight 的帖子
哦,知道了,但是你那个代码不修改就会出错。 我上传过一个例子,其中dir函数就是你想要的,去看看吧 看来大家对我转贴的例子都无视了,导致现在这样子,不管for循环还是其他的都太麻烦,看看我的例子就知道了
页:
[1]
2