problem with %d in MATLAB

Hi all;
I have image file having 01.dcm, 02.dcm, 03.dcm ... 22.dcm;
I want to read all these images with loop. How can I do it Please. I am just confuse with %d command as it can't recognize 01.dcm etc. it is just recognize 1.dcm, 2.dc, ...

 采纳的回答

for k = 1:22
pic2read = strcat(num2str(k),'.dcm');
if k<10
pic2read = strcat('0',pic2read);
end
imread(pic2read);
end

5 个评论

Thank You Soooo much
One more thing please!;
after doing some processing on those 22 images I want to save them in a single .mat file;
how it will be please! urgent
use the save option.
doc save
will tell you all the saving option available.
It will be something like:
save('my_data_file.mat','your_images_array')
Adding the '0' manually is a really inefficient solution. See Andrei's much nicer and faster sprintf method.

请先登录,再进行评论。

更多回答(1 个)

for k = 1:22, imread(sprintf('%02d.dcm',k)); end

1 个评论

Jan
Jan 2013-8-1
编辑:Jan 2013-8-1
+1. This is compact, direct, fast, not prone to typos.

请先登录,再进行评论。

类别

在 帮助中心 和 File Exchange 中查找有关 Images 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by