ImageDatastore from text file
1 次查看(过去 30 天)
显示 更早的评论
Hi
I need to classify some image data using the trained resnet network.
For the testing data, I need to call them using text file which consist from a sequence directory such as follows:
testingdata.txt:
/DataSet/label1/1.jpg
/DataSet/label1/2.jpg
/DataSet/label1/3.jpg
/DataSet/label1/4.jpg
/DataSet/label2/1.jpg
/DataSet/label2/2.jpg
/DataSet/label2/3.jpg
/DataSet/label2/4.jpg
How to read those image dataset directory from text file, to be used as testing data for deep learning classification.?
0 个评论
采纳的回答
Subhadeep Koley
2020-11-9
Try this code snippet. The below code will read images, whose locations are specified in the testingdata.txt file and will also label them according to their foldernames.
% Read the filenames and put them in cell array
fId = fopen('testingdata.txt');
tline = fgetl(fId);
tlines = cell(0, 1);
while ischar(tline)
tlines{end+1, 1} = (tline);
tline = fgetl(fId);
end
% Create an imageDatastore object
imds = imageDatastore(tlines, 'LabelSource', 'foldernames');
2 个评论
Subhadeep Koley
2020-11-10
编辑:Subhadeep Koley
2020-11-10
@LS This can be achieved with a bit more processing. There are a lot of ways to achieve this. The below code might help you.
% Read the filenames and put them in cell array
fId = fopen('testingdata.txt');
tline = fgetl(fId);
tlines = cell(0, 1);
while ischar(tline)
tlines{end+1, 1} = tline;
tline = fgetl(fId);
end
% Create an imageDatastore object
imds = imageDatastore(tlines);
% Modify image labels of the imageDatastore object
expression = 'label[\d]';
funHandle = @(str)regexpi(str, expression, 'match');
customLabels = cellfun(funHandle, squeeze(imds.Files));
imds.Labels = categorical(customLabels);
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Display and Presentation 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!