I have a digital image from X-ray tomography as below:
There are three different ingredients/components to be segmented:
- the continuous phase, mastics;
- the discrete phase I, aggregates;
- the discrete phase II, voids
which are all visually legible though the contrast is low:
I tried several approaches for segmentation, and the currently best result is only like this:
img=Import["http://i.stack.imgur.com/9q5QX.png"]; cellEdges=GradientFilter[ImageAdjust[img], 2]//ImageAdjust//Binarize; voids = Closing[cellEdges, 3]
2.aggregates and mastics,
agg01=ImageFilter[Mean[Flatten[#]]&,LocalAdaptiveBinarize[img, 15],2]; agg02=GeodesicOpening[agg01, 5]; agg03=GeodesicOpening[agg02, 5]
discrete phase of aggregates looks
continuous especially on the edge of the circular region; aggregates should be isolated islands with no black dots expected on them, but the current segmentation does not seem to achieve this.
Such a segmentation differs significantly from its visual inspection. How can I improve it?