title: shapes detection - contour approximation with OpenCV
body: <p>I'm writing small application for shape detections. What I need to do in a first place is to find the most significant shape on an image. I started from some preprocessing including converting image to grayscale, thresholding and edge detection. Image before and after these operations  is presented below</p>
  
  <p>Before</p>
  
  <p><img src="https://i.stack.imgur.com/ov8i4.jpg" alt="enter image description here"></p>
  
  <p>After</p>
  
  <p><img src="https://i.stack.imgur.com/5SyoW.jpg" alt="enter image description here"></p>
  
  <p>So as You can see the main shape is visible (however it is a bit scattered) and there are also some noises (small trees etc). What I need to do is to extract somehow only the most significant shape (the biggest one) - in this case it is a tower. 
  What I wanted to do is use contour finding function in opencv and then somehow aproximate found conturs with  polygon. Then I would (somehow) calculate area of countours and select only the biggest one.
  So far I manged (only) to find contours using </p>
  
  <pre><code>cvFindContours(crated,g_storage,&amp;contours);
  </code></pre>
  
  <p>I know that there is a </p>
  
  <pre><code>cvApproxPoly
  </code></pre>
  
  <p>function , however I am not able to get any usefull information for the result of this  function.
  Could somebody tell me if it is possible to calculate area of contour or to approximate the contur with polygon. Maybe You have a better idea how to extract only the most significant shape ?</p>