MATLAB: How to detect three low contrast shapeless objects

computer visioncontourimage processingImage Processing Toolboximage segmentation

I want to find three semi-circle in hundreds of cell images. If you look at right pictures,I determine the parts that i want. The reason of segmentation is calculate each part's characteristic such as max & min width, estimate area and darkness of that. How can I achieve this in Matlab? Thanks in advance

Best Answer

Try thresholding to find the inner darkest blob. Then fill holes with imfill() and extract the largest blob with bwareafilt(). Call bwboundaries() if you want the edge coordinates, though that's not needed to get the mean intensity.
Then do an edge filter like imgradient() or stdfilt() on the image, mask out the blob you already found, and hope you can get two contiguous connected boundaries.