Edge detection and integrating for granule areas

This image has two types of granules: granule A (black) and B (white). I need to identify the 9 edges on this image and calculate the area for each:

1 - 3: Granule A (triplicates)
4 - 5: Granule A & B interacting (triplicates)
6 - 9: Granule B (triplicates)

How can I best get accurate edges, possibly remove the background, and determine the area for each granule/particle?

So far, I’ve used a freehand selection and used the ‘Measure’ command to get the area. While that’s worked for a proof of concept, I need to be establish a strict protocol to get accurate measurements of the area for each granule.