public CVConnectedComp CamShift(System.Drawing.Rectangle window, int termCriteria, int maxIterations, double eps) { __CvConnectedComp cc = new __CvConnectedComp(); PInvoke.cvCamShift(Internal, new __CvRect(window), PInvoke.cvTermCriteria(termCriteria, maxIterations, eps), ref cc); CVUtils.CheckLastError(); return(new CVConnectedComp(ref cc)); }
internal CVConnectedComp(ref __CvConnectedComp input) { area = input.area; avgColor = CVUtils.ScalarToColor(input.value); rect = new System.Drawing.Rectangle(input.rect.x, input.rect.y, input.rect.width, input.rect.height); contour = input.contour; }
public CVConnectedComp MeanShift(System.Drawing.Rectangle window, int termCriteria, int maxIterations, double eps) { System.Drawing.Rectangle realWindow = new System.Drawing.Rectangle(0, 0, Width, Height); if (!realWindow.IntersectsWith(window)) { CVConnectedComp cc = new CVConnectedComp(window); return(cc); } realWindow.Intersect(window); __CvRect wnd = new __CvRect(realWindow); __CvTermCriteria tc = PInvoke.cvTermCriteria(termCriteria, maxIterations, eps); __CvConnectedComp comp = new __CvConnectedComp(); PInvoke.cvMeanShift(Internal, wnd, tc, ref comp); CVUtils.CheckLastError(); return(new CVConnectedComp(ref comp)); }