Image Segmentation not working properly
Show older comments
I have written a code to identify the green and black color seeds and then calculate the ratio of the area occupied by green seeds to that of black seeds. I used the color thresholder app to identify the two colors and generated 2 functions- one to segment the green color and another to segment the black. I saved the 2 segmented images in Binary format. Then I found each of the area using bwarea() and hence found out their ratio.


However, the result so obtained is not accurate. For 50:50 ratio (black:green), I get 42:68 and for 70:30, I get 40:60.
Also I am unable to use this function on other similar images with different seeds proportion. Displaying both the binary images using imshowpair(bImg, gImg, 'falsecolor'), I get :


Please tell me where I have gone wrong and what is the solution? Thank you.
10 Comments
KALYAN ACHARJYA
on 24 Sep 2018
Still remembered @Image Analyst Sir had advised you, have you followed?
Shashank
on 24 Sep 2018
Image Analyst
on 24 Sep 2018
I do remember coding up a demo for this beans image recently. But I don't see it under Shashank's posts, so either it somehow got deleted or someone else with the same photo asked the same question (if so, is it a homework assignment?).
Shashank
on 24 Sep 2018
Shashank
on 24 Sep 2018
Image Analyst
on 24 Sep 2018
See attached demo on k-means. You should have a known number of classes, like 3 for white, black, and green. But after color segmentation you'll still have to do some spatial cleanup because of shadows, white specks on the seeds, specular reflections, etc.
Shashank
on 25 Sep 2018
Image Analyst
on 25 Sep 2018
Yes, you can OR the masks to combine classes
mask25 = mask2 | mask5;
Shashank
on 25 Sep 2018
PeterHaultan
on 7 Oct 2018
Does this help?
I = imread('lena.jpg');
I = rgb2gray(I);
[r,c] = size(I);
L = kmeans(I(:),5);
I = reshape(L,[r,c]);
mask25 = (I==2)|(I==5);
Answers (0)
Categories
Find more on Image 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!