How can i crop multiple images
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
shru s
le 28 Mai 2017
Commenté : Image Analyst
le 28 Mai 2017
Hello, I have, with the help of regionprops, drawn a bounding box around the parts I would like to crop. Could anyone tell me how i can crop the images and store it. Thank you. Edit: I am trying to crop handwritten characters.
0 commentaires
Réponse acceptée
MathReallyWorks
le 28 Mai 2017
Hello shru,
Use this code for properly cropping the regions and saving them in a folder:
grayImage = imread('shapes.png');
[rows, columns, numberOfColorBands] = size(grayImage);
if numberOfColorBands > 1
grayImage = grayImage(:, :, 2);
end
binaryImage = grayImage > 128;
binaryImage = imclearborder(binaryImage);
binaryImage = bwareaopen(binaryImage, 1000);
labeledImage = bwlabel(binaryImage, 8);
[labeledImage, numberOfBlobs] = bwlabel(binaryImage);
blobMeasurements = regionprops(labeledImage, 'BoundingBox');
for m=1:numberOfBlobs
BB(m,:) = blobMeasurements(m).BoundingBox;
end
txt=['A' 'B' 'C' 'D' 'E' 'F' 'G' 'H' 'I' 'J' 'K'];
% txt is Random matrix of character for naming the files for saving them
for i=1:numberOfBlobs
imagen = imcrop(grayImage, [BB(i,1)-5 BB(i,2)-5 BB(i,3)+10 BB(i,4)+10]);
figure,
imshow(imagen);
saveas(gcf,txt(i),'jpg'); %All cropped images are stored with the names A,B,C,D etc.
end
original image:
Result:
2 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Image Processing Toolbox dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!