The following is how I would attack this problem. Not optimized approach.
From top to bottom, scan for pixels with white color and "pixel above in black".
If the pixel is surrounded by black pixels, then these are "1 pixel circles", and you can put it into array.
If the pixel do not have consecutive white pixel at the side, this is the "north-most pixel".
If the multiple pixels on the row are white, the middle one is "north-most pixel".
Once "north-most pixel" is found, scan directly below it for the first pixel that is white and "pixel below is black", that would be "south-most pixel".
The middle point of "north-most pixel" and "south-most pixel" is the center of the circle. The distance between center and either point is the radius. Now put it into array.
Once you found all the "circles" you can proceed to sort it and calculate area, etc.