title: Detect semicircle in OpenCV
body: <p>I am trying to detect full circles and semicircles in an image.<img src="https://i.stack.imgur.com/w5DCW.png" alt="enter image description here"></p>
  
  <p>I am following the below mentioned procedure: 
  Process image (including Canny edge detection).
  Find contours and draw them on an empty image, so that I can eliminate unwanted components
  (The processed image is exactly what I want).
  Detect circles using HoughCircles. And, this is what I get:</p>
  
  <p><img src="https://i.stack.imgur.com/eAvng.png" alt="enter image description here"></p>
  
  <p>I tried varying the parameters in HoughCircles but the results are not consistent as it varies based on lighting and the position of circles in the image.
  I accept or reject a circle based on its size. So, the result is not acceptable. Also, I have a long list of "acceptable" circles. So, I need some allowance in the HoughCircle params.
  As for the full circles, it's easy - I can simply find the "roundness" of the contour. The problem is semicircles!</p>
  
  <p>Please find the edited image before Hough transform<img src="https://i.stack.imgur.com/GP6kA.png" alt="enter image description here"></p>