K-means clustering
조회 수: 2 (최근 30일)
이전 댓글 표시
I am doing color based segmentation using kmeans clustering.I am using inbuilt function of matlab(kmeans).My input image has object and background where I need to segment the object. For that I am using cluster value as 2 and repeating the clustering 3 times.The problem I am facing is that for some images, the output of k-means is very bad the first time, but when I try doing the segmentation for the 2nd time it gives me good results. Why is this happening?Is it because of the light variations in the image? Posting the original image, image with wrong segmentation and image with right segmentation
댓글 수: 0
답변 (3개)
Image Analyst
2017년 1월 22일
See my attached demo for doing kmeans clustering on RGB images:
댓글 수: 7
Image Analyst
2018년 2월 8일
For hands1 you should have indexes = 76800 x 1, rows = 240, and columns = 320. You must have changed something, but I'm glad you restored it and got it working again.
Image Analyst
2017년 1월 21일
Well obviously there are not 2 clusters. There are 3 dominant colors: green, brown, and black. Use k=3 in your code and it should improve.
Better yet, if you know you are going after certain colors like green, do thresholding in HSV color space. Try the color thresholder on the Apps tab of the tool ribbon.
댓글 수: 4
Image Analyst
2017년 1월 22일
Did you run my kmeans demo I made up for you? It's in my second answer on this page. It plots the 3-D color gamut. Here is what a scatterplot of your a,b data looks like looking down the L axis:
and here is what it looks like from the side:
Do you see 2 well defined, well separated clusters there? No, you do not. The colors go continuously from one color to the next. There are going to be some colors that are "in between" colors and some maybe classified as one thing and some as the other thing, perhaps in disagreement with what you thought they should be.
That is why after doing color classification, by whatever method, often/usually you need additional steps to clean things up.
For what it's worth, I'm attaching another statistical method demo given to me by the Mathworks. It uses principal components analysis.
Additionally there are thresolding-based methods of color segmentation in my File Exchange: http://www.mathworks.com/matlabcentral/fileexchange/?term=authorid%3A31862
steny ynets
2017년 8월 28일
what is the code to differentiate diseased and healthy part of the leaf
댓글 수: 1
Walter Roberson
2017년 8월 28일
Search the Answers forum using the keywords
leaf disease
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!