How can i extract all labeled objects in a image and save every object as an image?
Show older comments
I have labeled 650 images in Image labeler. Now i want to save every object i have labeled as a 81X81 pixel image.How can i do that?
Answers (1)
Daniel Vieira
on 21 Feb 2020
with the image labeler you made a table where the first column is the image file, and the others are each label, each cell containing the bounding boxes of each object. So:
% T -> your table
for k=1:height(T)
I=imread(T.file{k}); % I don't quite remember it the variable is "file", change it to the name of your 1st variable
for h=2:width(T)
for z=1:size(T{k,h},1)
subI=imresize(imcrop(I,)T{k,h}(z,:),[81 81]);
writeimage(subI,"file "+k+" "+h+" "+z+".png") % change this string to something suitable to you
end
end
end
3 Comments
Toni Vukasinovic
on 22 Feb 2020
Toni Vukasinovic
on 24 Feb 2020
Daniel Vieira
on 26 Feb 2020
gTruth here is not a table, it's a groundTruth object, that's why the code above doesn't work for you. You either need the Image Labeler App to export things in table format instead of gTruth (almost sure it does it), or you need to access the inner properties of gTruth, make a table, and work with it.
Categories
Find more on Ground Truth Labeling in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!