how to detect circles, semicircles in a binary image?

thanks