Effacer les filtres
Effacer les filtres

How can i crop multiple images

1 vue (au cours des 30 derniers jours)
shru s
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.

Réponse acceptée

MathReallyWorks
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
shru s
shru s le 28 Mai 2017
Beautiful piece of code. Thank you. But the thing is, I am trying to crop out handwritten characters. So this method is not helping me do that.
Image Analyst
Image Analyst le 28 Mai 2017
Printed or script? You forgot to attach your image.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Image Processing Toolbox dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by