How can i crop multiple images

1 次查看(过去 30 天)
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.

采纳的回答

MathReallyWorks
MathReallyWorks 2017-5-28
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 个评论
shru s
shru s 2017-5-28
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 2017-5-28
Printed or script? You forgot to attach your image.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Image Processing Toolbox 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by