Reading Multiple Images from Folder
4 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
I have a folder named 'ImageSet1',it consist of 20 images named as a 1.jpg,2.jpg...20.jpg.
Here i want to read images from 1 to 10 and then from 11 to 20 separately. it means, when i read image 1,immediately i have to read 11th image and when i read image 2,immediately i have to read 12th image in a loop and so on.. Here is the my code
sdirectory = 'ImageSet1';
jpegfiles = dir([sdirectory '/*.jpg']);
for k = 1:length(jpegfiles)/2
filename = [sdirectory '/' jpegfiles(k).name];
I = imread(filename);
figure;imshow(I)
filename1=[sdirectory '/' jpegfiles(10+k).name];
I1=imread(filename1);
figure;imshow(I1)
end
This code is not reading in order,like 1 and 11th image,2 and 12th image...
Does any one know please correct this code or any other method..?
2 comentarios
Stephen23
el 27 de Mayo de 2015
Editada: Stephen23
el 27 de Mayo de 2015
It sorts according to any numeric values in the strings, and also sorts the file extensions separately:
B = {'test2.m'; 'test10-old.m'; 'test.m'; 'test10.m'; 'test1.m'};
sort(B) % wrong numeric order!
ans = {
'test.m'
'test1.m'
'test10-old.m'
'test10.m'
'test2.m'}
natsortfiles(B) % correct numeric order and shortest first:
ans = {
'test.m'
'test1.m'
'test2.m'
'test10.m'
'test10-old.m'}
Respuestas (2)
Evgeny Pr
el 25 de En. de 2013
Editada: Evgeny Pr
el 25 de En. de 2013
Use natural sorting for image filenames.
Listing = dir(fullfile(directoryPath, '*.jpg'));
names = {Listing.name}';
names = sort_nat(names);
fullNames = cellfun(@(x) fullfile(directoryPath, x), names, 'UniformOutput', 0);
0 comentarios
azizullah khan
el 29 de Nov. de 2013
dear sir kindly explain me names={listing.name} what does it means
1 comentario
Image Analyst
el 29 de Nov. de 2013
Ver también
Categorías
Más información sobre Image Segmentation and Analysis en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!