- Get a directory listing of all the files in your source folder.
- Read the workbook and get the class label from the appropriate column - the CSR column.
- Build a new destination filename using the class label as a folder.
- Use a for loop and copyfile to copy the files.
Hello! How to extract Images in multiple class folders through MATLAB code. I have image dataset (training,testing,evaluation) folders but I have only xlsx file with labels.
2 ビュー (過去 30 日間)
古いコメントを表示
I have image datastore (training,testing,evaluation) 47 classes dataset. I want to save images in 47 different class folders but I only have xlsx file with labels.I want to extract images from this excel labels. mean I make folder with their names(label) extract image from training etc and save the image to labels folder. if any body help me outh with this problem I will be very thankful
0 件のコメント
回答 (1 件)
Image Analyst
2022 年 12 月 1 日
Something like (untested)
filePattern = fullfile(inputFolder, '*.png');
imds = imageDatastore(filePattern);
t = readtable(workbookName);
classFolderNames = t.CSR;
allFileNames = imds.Files;
for k = 1 : numel(allFileNames)
% Get input file name from datastore.
sourceFileName = allFileNames{k}
[folder, baseFileNameNoExt, ext] = fileparts(sourceFileName);
% Get class name from workbook.
% Assuming the order of class assignments matches up with that in the
% datastore (NOT a good assumption though), you can do this
subFolderName = classFolderNames{k};
destinationFolder = fullfile(folder, subFolderName);
if ~isfolder(destinationFolder)
% Create subfolder if it does not exist.
mkdir(destinationFolder);
end
% Build destination file name
destinationBaseFileName = [baseFileNameNoExt, ext]; % Same name as input
destinationFullFileName = fullfile(destinationFolder, destinationBaseFileName);
% Copy file into output folder.
copyfile(sourceFileName, destinationFullFileName);
fprintf('Copied "%s" to \n "%s".\n', sourceFileName, destinationFullFileName)
end
3 件のコメント
Image Analyst
2022 年 12 月 1 日
Please wrangle your data and upload a workbook that has the file names in column 1, and the class number or name you've assigned to that image in column 2.
参考
カテゴリ
Help Center および File Exchange で Image Data Workflows についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!