2013-02-09 3 views
1

와 윤곽을 근사 일부 색상 감지 및 바이너리 임계 후, 나는 윤곽을 찾아 이미지에 그들을 그릴 다음 코드를 사용 : 나는 예상대로회전 된 사각형

using (MemStorage stor = new MemStorage()) 
     { 
      Contour<Point> contours = img.FindContours(
       Emgu.CV.CvEnum.CHAIN_APPROX_METHOD.CV_CHAIN_APPROX_SIMPLE, 
       Emgu.CV.CvEnum.RETR_TYPE.CV_RETR_LIST, 
       stor); 

      for (; contours != null; contours = contours.HNext) 
      { 
       Contour<Point> currentContour = contours.ApproxPoly(contours.Perimeter * poly, stor); 

       img.Draw(currentContour,new Bgr(255,255,255),1); 

       Rectangle currentrect = currentContour.BoundingRectangle; 

       img.Draw(currentrect,new Bgr(255,255,255),2); 
      } 
     } 

내 문제는, 경우 그 윤곽선은 사각형이지만 이미지에서 회전되지만 경계 사각형은 회전에 맞게 방향을 변경하지 않습니다. 이 기능을 수행하는 또 다른 방법입니까? 어떤 도움이라도 대단히 감사하겠습니다.

답변

2

예,이를 수행하는 또 다른 방법이 있습니다.

contour.GetConvexHull(ORIENTATION.CV_CLOCKWISE); 

순간을 사용하면 방향을 쉽게 알 수 있고 그에 따라 사각형을 조정할 수 있습니다.

관련 문제