How to read multiple jpg images in a loop?

조회 수: 56 (최근 30일)
archana
archana 2014년 3월 4일
이동: DGM 2022년 12월 20일
hello, i am a novice user in matlab my question is: i have stored some 100s of images in some folder and i want to read it one-by-one.how can i do this?
  댓글 수: 17
Anil Varma
Anil Varma 2019년 12월 13일
showing error
Error using randi
First input must be a positive scalar integer value IMAX, or two integer values [IMIN IMAX] with IMIN
less than or equal to IMAX.
Error in test (line 9)
idx=randi(n);
shweta banait
shweta banait 2020년 12월 3일
이동: DGM 2022년 12월 20일
how to display five images in matlab

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

채택된 답변

Dishant Arora
Dishant Arora 2014년 3월 4일
  댓글 수: 6
archana
archana 2014년 3월 6일
편집: archana 2014년 3월 6일
sir,actually i want to obtain the covarience matrix of all these read images...for same i wrote a code but there i worked on each image seperatly (i.e. reading convrting to gray and the resized it) because of which code became verry bulky ,now with your guidlines i modified sem for loop reading. now what i supposed to do is 1st i should convert it to gray and then resize all..but fact is yet i didnot reached to covarience matrix stage...:( apologize me for mistake if any
Dishant Arora
Dishant Arora 2014년 3월 6일
Use the builtin cov to get the covariance matrix.

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

추가 답변 (5개)

Karthik Karri
Karthik Karri 2014년 3월 6일
You can rename all images like..im1,im2,im3.....im100. To read 100 images one by one, run a loop 100 times with i as variable from 1 to 100 and in imread, m=imread(['folder_path\im' num2str(i) '.jpg']). I hope I answered your question.

chaitra naveen
chaitra naveen 2017년 3월 20일
can you please help me out to read 100's of images from folder to matlab and resize them to 100x100.

Muhammad Sohail
Muhammad Sohail 2017년 11월 27일
filelist = dir('Training data');
for i=1 : length(filelist)
for i=1 : length(filelist)
filename = filelist(i);
if ~strcmp(filename.name , '.') && ~strcmp(filename.name , '..')
filename.name
end
end

Haseeb Hassan
Haseeb Hassan 2019년 6월 30일
for i=1:16; % we have 16 images we have in or folder
clc;clear;
images ='C:\Users\Haseeb\Desktop\input\for_loop_input';
jpgfiles=dir(fullfile(images,'\*.jpg*'));
n=numel(jpgfiles(i));
im=jpgfiles(i).name
im1=imread(fullfile(images,im));
imshow(im1);
end
Here is the simple and short code, which will acces your images from your folder in a sequence.
  댓글 수: 1
shital shinde
shital shinde 2020년 2월 21일
Actually it gives error as
Array indices must be positive integers or logical values.
n=numel(jpgfiles(i)); // for this line.
will you tell me why ?

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


Xylo
Xylo 2014년 3월 6일
You can do this easily..... before doing this program, you have to keep all of your image in a folder and rename them by any common char+number concatenation form (like a1.jpg, a2.jpg,a3.jpg....). after that you just use strcat() function for reading the path name, and then read the images.
for i=1:10 %suppose there are 10 image
file_name=dir(strcat('J:\multimedia\photo\')); % the path tht u hv imges
im=imread(strcat('J:\multimedia\photo\',file_name(i).name));
imtool(im);
end
  댓글 수: 8
Walter Roberson
Walter Roberson 2016년 11월 29일
Isha Pandya, please show your current code and describe what difficulty you are observing.
Zahoor abbas
Zahoor abbas 2018년 7월 9일
How I can access the images from two folders by using one for loop

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

카테고리

Help CenterFile Exchange에서 Image Processing Toolbox에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by