title: findcontours finds too many contours
body: <p>Is it normal that find contours finds so many contours where there are obviously only 3 contours ?</p>
  
  <p>The original image and after drawing found contours are shown below : 
  <img src="https://i.stack.imgur.com/dlQVX.jpg" alt="enter image description here"></p>
  
  <p><img src="https://i.stack.imgur.com/Xsuje.png" alt="enter image description here"></p>
  
  <p>The code is :</p>
  
  <pre><code>Mat image;
      vector&lt;vector&lt;Point&gt; &gt; contours;
      vector&lt;Vec4i&gt; hierarchy;
      image = imread(argv[1], 0);   // Read the file
      findContours(image, contours, hierarchy, CV_RETR_TREE, CV_CHAIN_APPROX_SIMPLE, Point(0, 0));
      cout &lt;&lt; contours.size();
  
  
      RNG rng(12345);
      Mat drawing = Mat::zeros(image.size(), CV_8UC3);
      for (int i = 0; i&lt; contours.size(); i++)
      {
          Scalar color = Scalar(rng.uniform(0, 255), rng.uniform(0, 255), rng.uniform(0, 255));
          drawContours(drawing, contours, i, color, 2, 8, hierarchy, 0, Point());
      }
      /// Show in a window
      namedWindow("Contours", CV_WINDOW_AUTOSIZE);
      imshow("Contours", drawing);
  namedWindow("Display window", WINDOW_AUTOSIZE);// Create a window for display.
      imshow("Display window", image);                   // Show our image inside it.
  </code></pre>