MATLAB: How to Capture objects in big image and divided them to small images

image processingMATLAB

Hi,
I stuck at my study now.
I have one example image. ( http://i42.tinypic.com/b653er.jpg) From this image, I would like to separate these five small objects in the picture to be five small images.
How can I do this. I need your help please.
I am looking forward to hear from you. Thank you very much.
Wipapan

Best Answer

This code works just for this image only
Irgb = imread('b653er.jpg');
Igray = rgb2gray(Irgb);
Ibw = im2bw(Igray,graythresh(Igray));
Ifill = imfill(Ibw,'holes');
%clear the lines
Ihor = imopen(Ifill,strel('line',5,0));
Iver = imopen(Ihor,strel('line',5,90));
Ilabel = bwlabel(Iver);
stat = regionprops(Ilabel,'BoundingBox');
for x = 1 : numel(stat)
bb = stat(x).BoundingBox;
Icrop{x} = imcrop(Irgb,bb);
subplot(numel(stat),1,x); imshow(Icrop{x});
end