Particle distribution of given image
6 次查看(过去 30 天)
显示 更早的评论
Hello I need to distinguish three elements of this concrete picture. 1.LECA 2.Crushed Aggregate 3.Cement Paste.
I need their area distribution. I tried to segment and filter but I couldn't handlee it. I need an approximate result.
0 个评论
回答(2 个)
Image Analyst
2023-3-9
This is a very difficult problem. I doubt thresholding would work great but you can try the Color Thresholder on the Apps tab of the tool ribbon. If color alone is not enough to distinguish regions then you might have to add in other things like texture, stdfilt
It's a generic, general purpose demo of how to threshold an image to find blobs, and then measure things about the blobs, and extract certain blobs based on their areas or diameters.
If you know that a picture definitely has all 3 materials in it you can use k-means, or linear discriminant analysis on the image. Or if you can hand pick some samples then you can try KNN. I'm attaching demos for those you can adapt. I doubt any of them will be great but it's worth a try. Otherwise you could always try hand tracing the regions -- might not be acceptable if you have more than 100 images though. I'm attaching some drawing/masking demos also.
3 个评论
Image Analyst
2023-4-10
kmeans is not rubust for all area fractions. For example if there is none of a particular class there, it will still "make up" one because you're forcing it to have 3 classes. Discriminant analysis might be better -- did you try that demo? Or you can hand trace several regions in each class and then use the Classification Learning app to try out lots of different classifiers and pick the best one.
Jasvin
2023-3-8
Unless you have any training data available using which you can create a proper model explicitly built to identify the three regions, you'll have to go for Image Processing-based Image Segmentation or Unsupervised Learning
Here's the Discovery page for Image Segmentation,
You've already mentioned that you've tried out Image Segmentation and Filtering but perhaps there's a method here that you've missed out on.
And here's the Discovery page for Unsupervised Learning,
Here you can hope that some clustering algorithm like K-means is able to cluster as per your requirements.
And one final technique would be to label the regions manually in each image to obtain a training dataset on which you can apply any of the state of the art DL algorithms. MATLAB even helps with you that!
2 个评论
Jasvin
2023-3-9
Good luck with that Furkan and if you feel that the answer was sufficient for your task then you can also mark it as the accepted answer.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Discriminant Analysis 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!