labeling a montage image using folder's name

6 views (last 30 days)
i created an imageDataStore with folder's name as label source then i retrieved the best match image for an image that i chose . i want to know how can i write ,in the title, the name of the folder from where the best match image was retrieved.i hope u get the idea and thanks for the help.
the code :
digitDatasetPath = fullfile('c:','users','isbinfos','Desktop','camera');
imds = imageDatastore(digitDatasetPath, ... 'IncludeSubfolders',true,'LabelSource','foldernames');
imageIndex = indexImages(imds);
queryDir = fullfile('c:','users','isbinfos','Desktop','test',filesep);
queryImage = imread([queryDir 'poischiche.jpg']);
imageIDs = retrieveImages(queryImage,imageIndex);
bestMatch = imageIDs(1);
bestImage = imread(imageIndex.ImageLocation{bestMatch});
figure imshowpair(queryImage,bestImage,'montage')

Answers (1)

KALYAN ACHARJYA
KALYAN ACHARJYA on 5 Jan 2025
digitDatasetPath = fullfile('c:', 'users', 'isbinfos', 'Desktop', 'camera');
imds = imageDatastore(digitDatasetPath, ...
'IncludeSubfolders', true, 'LabelSource', 'foldernames');
imageIndex = indexImages(imds);
queryDir = fullfile('c:', 'users', 'isbinfos', 'Desktop', 'test', filesep);
queryImage = imread([queryDir, 'poischiche.jpg']);
imageIDs = retrieveImages(queryImage, imageIndex);
bestMatch = imageIDs(1);
bestImage = imread(imageIndex.ImageLocation{bestMatch});
bestMatchLabel = imds.Labels(bestMatch);
figure; imshowpair(queryImage, bestImage, 'montage');
title(['Best Match Folder:', char(bestMatchLabel)]);
Try it?

Community Treasure Hunt

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

Start Hunting!