for i = 1 : 60000
name1 = [ 'something' , num2str(i) , '.tif' ] ;
pj = importdata(name1) ;
% do some processing on pj and then save it to new_fig
new_fig = pj ;
% Write Image Data to a File:
name2 = ['Output_File_' , num2str(i) , '.tif'] ; %%
imwrite(new_fig , name2) ;
end
Now the issue is that I want my file names like,
  • 'Outfile_File_00001'
  • 'Outfile_File_00010'
  • 'Outfile_File_00100'
  • 'Outfile_File_01000'
you get the idea.
This is required because for subsequent processing. So can anyone suggest me how to go about it. Please remember here, that the overall code is computationally intensive. So I don't want to use any if statments inside the loop. Can we solve this without making use of any if statments.
Thanks :)

댓글 수: 2

Image Analyst
Image Analyst 2020년 7월 27일
So you want the suffix to have all zeros except for a 1 in a certain location? But you have 60 thousand - you can't have a filename 60,000 characters long.
abhimanyu dubey
abhimanyu dubey 2020년 7월 27일
No Sir, You got that wrong. What I want is to have:
  • For first 9 images: 'Outfile_File_000001' - 'Outfile_File_000009'
  • For 10th to 99th image: 'Outfile_File_000010' - 'Outfile_File_000099'
  • for 100 to 999 'Outfile_File_000100' - 'Outfile_File_000999'
  • for 1, 000 to 9,999 'Outfile_File_001000' - 'Outfile_File_009999'
  • for 10,000 to 99,999 'Outfile_File_010000' - 'Outfile_File_099999'
Apologies, I should have been a bit more precise. But I hope this clearifies things.
Thanks

댓글을 달려면 로그인하십시오.

 채택된 답변

Image Analyst
Image Analyst 2020년 7월 27일
편집: Image Analyst 2020년 7월 27일

1 개 추천

What I'd do is
name2 = sprintf('Output_File_%6.6d.tif', i);

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Images에 대해 자세히 알아보기

제품

릴리스

R2020a

질문:

2020년 7월 27일

댓글:

2020년 7월 27일

Community Treasure Hunt

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

Start Hunting!

Translated by