title: OpenCv assertion failed
body: <p>I am working on application for finding face in 2D image and later inside same image I want to find mouth, but I have some problem right now. This is my code so far:</p>
  
  <pre><code>for (int i = 0; i &lt; faces.size(); i++)
  {
          Point pt1(faces[i].x, faces[i].y);
          Point pt2((faces[i].x + faces[i].height), (faces[i].y + faces[i].width));
          rectangle(frame, pt1, pt2, Scalar(255,0 , 0), 2, 8, 0);
  
                      //I WANT ROI(FOR MOUTH DETECTION) TO BE ONLY HALF OF THE RECTANGLE WITH FACE
          Rect mouthROI;
          mouthROI.x = (faces[i].x);
          mouthROI.y = faces[i].y*(1.5);
          mouthROI.width = (faces[i].x + faces[i].height);
          mouthROI.height = (faces[i].y + faces[i].width);
  
                      //I CHECK IF NEW RECTANGLE IS EXACTLY BOTTOM HALF OF PREVIOUS ONE
          Point ptAA(mouthROI.x, mouthROI.y);
          Point ptBB(mouthROI.width, mouthROI.height);
          rectangle(frame, ptBB, ptAA, Scalar(0,0 , 255), 2, 2, 0);
  
  
          Mat image_roi = frame(mouthROI);
  
          cvtColor(frame, frame_gray, COLOR_BGR2GRAY);
          equalizeHist( frame_gray, frame_gray );
  
                      // DETECTING MOUTH INSIDE ROI OF EARLIER DETECTED FACE
          mouth_cascade.detectMultiScale(image_roi, mouths, 1.1, 2, 0, Size(30, 30));
  
          for(int i = 0; i &lt; mouths.size(); i++)
          {
              Point pt1(mouths[i].x, mouths[i].y); // Display detected faces on main window - live stream from camera
              Point pt2((mouths[i].x + mouths[i].height), (mouths[i].y + mouths[i].width));
              rectangle(frame, pt1, pt2, Scalar(0, 255, 0), 2, 8, 0);
          }
  
  }
  </code></pre>
  
  <p>Unfortunately this code does not work. I get error like this:</p>
  
  <pre><code>OpenCV Error: Assertion failed (0 &lt;= roi.x &amp;&amp; 0 &lt;= roi.width &amp;&amp; roi.x + roi.width &lt;= m.cols &amp;&amp; 0 &lt;= roi.y &amp;&amp; 0 &lt;= roi.height &amp;&amp; roi.y + roi.height &lt;= m.rows) in cv::Mat::Mat(const cv::Mat&amp;, const cv::Rect&amp;), file C:/build/2_4_PackSlave-win32-vc11-shared/opencv/modules/core/src/matrix.cpp, line 323
  </code></pre>
  
  <p>How can I fix this error. Thank You all for help!</p>