How to crop an portion fro image
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
Accepted Answer
More Answers (1)
Siam
on 13 Nov 2014
1 vote
You can try with imcrop()
4 Comments
nkumar
on 13 Nov 2014
Siam
on 13 Nov 2014
Your question was not clear as it says how to crop a portion from image. Not sure what actually you want to do? your code gives you 5 grains in white color and background in black. So why do you have to crop them? Can you explain a bit more?
nkumar
on 14 Nov 2014
Guillaume
on 14 Nov 2014
Doesn't my answer do what you want?
Note that crop is probably not the appropriate word. It sounds like what you want is to extract part of an image.
Categories
Find more on Color Segmentation in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!