This is a micrograph of a hybrid material that contains glass fiber (small white dots), carbon fibers (big grey dots) and a matrix that contains everything! I would like to calculate the surface area (volume fraction) of each of the elements.
This is all quite crude and largely done by eye.
totalMeasure = ImageMeasurements[Binarize[1 - ImageSubtract[img, img]], "Total"] (* Out= 170240. *)
Get the glass part by playing with blurring and binarization.
imgGlass = MorphologicalBinarize[ Blur[MorphologicalBinarize[Blur[img, 1], .5], 2], .15] ImageMeasurements[imgGlass, "Total"] ImageMeasurements[imgGlass, "MeanIntensity"]
(* 49506. 0.290801 *)
Now subtract and binarize to get the carbon part.
imgCarbon = Binarize[ImageSubtract[img, Blur[imgGlass, 4]], .18] ImageMeasurements[imgCarbon, "Total"] ImageMeasurements[imgCarbon, "MeanIntensity"]
(* Out= 66975. Out= 0.393415 *)
To see if this is at all consistent, also get the matrix part.
imgBlack = Binarize[ColorNegate[img], .75] ImageMeasurements[imgBlack, "Total"] ImageMeasurements[imgBlack, "MeanIntensity"]
(* Out= 55782. Out= 0.327667 *)
So it comes to around 100% but still this was all from using eyeballing to see if the pictures were in the right ballpark. I'd expect maybe up to 10% relative error in each of the measurements.