Particle distribution of given image
5 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
furkan bezci am 3 Mär. 2023
Kommentiert: Image Analyst am 10 Apr. 2023
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.
Image Analyst am 9 Mär. 2023
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
See my Image Segmentation Tutorial in my File Exchange:
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.
Image Analyst am 10 Apr. 2023
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 am 8 Mär. 2023
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!
Jasvin am 9 Mär. 2023
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.
Find more on Images 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!