Subplot images from database folder using index value.
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
Hello, I have this code which out put returns 10 filenames corresponding to 10 images I have in my folder. How I can I change the code so that instead of a list to the related filenames (relation is to v=similarity value for each image and i=index for corresponding file name) in the same sorted order, I get the 10 corresponding images into 1 figure/subplot ? I am learning and still finding difficulit to connect all the dots.
0 comentarios
Respuestas (2)
Image Analyst
el 11 de Dic. de 2019
I don't understand the question, but to sort by decreasing values of r, read in the image for each r, and display the image, for 10 images, you can do
% Get the filenames somehow....
files = dir('*.png');
filenames = {files.name}
% Get r somehow... whatever method you have...
r = rand(1, length(files));
% Sort the r variable.
[sorted_r, sortOrder] = sort(r(:), 'descend');
% Now sort filenames the same way as r was sorted. filenames should already exist by this line.
filenames = filenames(sortOrder);
% Now display the first 10
hFig = figure;
for k = 1 : min([length(filenames), 10])
subplot(3, 4, k);
thisImage = imread(filenames{k});
imshow(thisImage);
caption = sprintf('Image %d: "%s"\nr = %.3f', ...
k, filenames{k}, sorted_r(k));
title(caption, 'FontSize', 12);
axis('on', 'image');
drawnow;
end
hFig.WindowState = 'maximized'; % Requires fairly recent version of MATLAB.
0 comentarios
Image Analyst
el 11 de Dic. de 2019
Regarding your edited question (where you took out mention of the "r" variable over which you wished to sort), you might want to look at the montage() or imtile() functions.
0 comentarios
Ver también
Categorías
Más información sobre Startup and Shutdown en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!