How to crop an portion fro image
2 views (last 30 days)
Show older comments
I have a code below
clc
clear all
close all
I = imread('rice.png');
imshow(I)
background = imopen(I,strel('disk',15));
I2 = I - background;
imshow(I2)
I3 = imadjust(I2);
imshow(I3);
level = graythresh(I3);
bw = im2bw(I3,level);
bw = bwareaopen(bw, 50);
imshow(bw)
cc = bwconncomp(bw, 4)
grain = false(size(bw));
grain(cc.PixelIdxList{50}) = true;
grain(cc.PixelIdxList{30}) = true;
grain(cc.PixelIdxList{80}) = true;
grain(cc.PixelIdxList{75}) = true;
grain(cc.PixelIdxList{70}) = true;
imshow(grain);
now want to crop the grains shown in binary image from original image ,kindly help
0 Comments
Accepted Answer
Guillaume
on 13 Nov 2014
Use regionprops to extract all sort of information on your connected components. In particular, the Image field of the structure array returned by regionprops will contain the binary image of each grain.
props = regionprops(cc, 'Image'); %to just get the image of each grain.
%props(1).Image will be the image of the first grain,
%props(2).Image will be the image of the second grain,
%etc.
0 Comments
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!