MATLAB: Saving the image after using regionprops

cropimage processing

Hello, I am facing an issue with saving my image after cropping it. This is my image
But when i save my image i am getting this,
Could anyone tell me how I can save the image without the extra white area in the background? Thank you
edit: Here is my code
img = rgb2gray(imread('C:\Users\Shruthi\Desktop\project\A data\lazy.jpg'));
erodeImg = imerode(img,strel('disk',3));
imshow(erodeImg,[])
BW = bwlabel(erodeImg);
imshow(BW,[])
img = bwareaopen(BW,30);
pause(1)
[L Ne]=bwlabel(img);
regProp=regionprops(L,'BoundingBox');
hold on
for n=1:size(regProp,1)
rectangle('Position',regProp(n).BoundingBox,'EdgeColor','r','LineWidth',2)
end
figure;
imshow(img);
hold off
pause (1)
close
for n=1:Ne
[r,c] = find(L==n);
n1=img(min(r):max(r),min(c):max(c));
figure;
imshow(~n1);
saveas(figure(n),fullfile('C:\Users\Shruthi\Desktop\project\A data\SegmentedCharacters',['figure' num2str(n) '.jpg']));
end
and here is my image :

Best Answer

  • You're not saving the images per say, but saving the content of the figure window. Replace your saveas line with:
    imwrite(~n1, fullfile('C:\Users\Shruthi\Desktop\project\A data\SegmentedCharacters', sprintf('image%d.jpg', n)));