I'm trying to display image with for loop. My code is like that. After the 9 picture the image file name is image_0010. So if i want to display this image now what i need to do? Thanks in advance.
imageArray = [];
for i = 1:200
str = int2str(i);
str = strcat('\','image_000',str,'.png');
str = strcat('C:\Users\Hasibur Rahman\Documents\MATLAB\ClassWork2_62018040032_哈西\LFPW\trainset', str);
image = imread(str);
imageArray = image;
imageArray = imageArray + image;
figure,imshow(imageArray);
title('Original Image!');
pause(1.5);
end

 채택된 답변

Sudhakar Shinde
Sudhakar Shinde 2020년 10월 15일
1 option could be:
if i>9
str = strcat('\','image_00',str,'.png');
end

댓글 수: 1

Stephen23
Stephen23 2020년 10월 15일
편집: Stephen23 2020년 10월 15일
Or just learn how to write simpler and more efficient code (e.g. sprintf).

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

추가 답변 (1개)

Stephen23
Stephen23 2020년 10월 15일
편집: Stephen23 2020년 10월 15일
Rather than fragile string concatenation and ungainly constructs involving int2str or num2str, the neat and efficient MATLAB approach is to use sprintf and fullfile:
D = 'C:\Users\Hasibur Rahman\Documents\MATLAB\ClassWork2_62018040032_哈西\LFPW\trainset';
for k = 1:200
F = sprintf('image_%04d.png',k);
I = imread(fullfile(D,F));
imshow(I);
pause(1.5)
end
This is what the MATLAB documentation recommends:
Note that I also moved the directory definition to before the loop, where it belongs.

카테고리

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

태그

Community Treasure Hunt

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

Start Hunting!

Translated by