Lines Matching refs:contour
131 struct _CvContourInfo *next; /* next contour with the same mark value */
132 struct _CvContourInfo *parent; /* information about parent contour */
133 CvSeq *contour; /* corresponding contour (may be 0, if rejected) */
135 CvPoint origin; /* origin point (where the contour was traced from) */
153 CvMemStoragePos backup_pos; /* beginning of the latest approx. contour */
154 CvMemStoragePos backup_pos2; /* ending of the latest approx. contour */
159 CvPoint offset; /* ROI offset: coordinates, added to each contour point */
161 CvPoint lnbd; /* position of the last met contour */
163 _CvContourInfo *l_cinfo; /* information about latest approx. contour */
169 int mode; /* contour scanning mode:
245 scanner->frame_info.contour = &(scanner->frame);
332 Final stage of contour processing.
334 1. Contour, which was retrieved using border following, is added to
335 the contour tree. It is the case when the icvSubstituteContour function
336 was not called after retrieving the contour.
338 2. New contour, assigned by icvSubstituteContour function, is added to the
339 tree. The retrieved contour itself is removed from the storage.
343 the contour is removed completely.
344 2b. In hierarchical case, the header of the contour is not removed.
345 It's marked as "link to contour" and h_next pointer of it is set to
346 new, substituting contour.
350 retrieved contour completely if plane case and
355 restriced set of methods). Some characteristics of contour can be computed in the
379 [CvSeq* contour;]
380 result = icvFindNextContour( &scanner, &contour/0 );
489 if( l_cinfo->contour )
491 cvInsertNodeIntoTree( l_cinfo->contour, l_cinfo->parent->contour,
498 /* replaces one contour with another */
512 if( l_cinfo && l_cinfo->contour && l_cinfo->contour != new_contour )
514 l_cinfo->contour = new_contour;
523 marks domain border with +/-<constant> and stores the contour into CvSeq.
533 CvSeq* contour,
550 cvStartAppendToSeq( contour, &writer );
553 ((CvChain *) contour)->origin = pt;
555 s_end = s = CV_IS_SEQ_HOLE( contour ) ? 0 : 4;
632 cvBoundingRect( contour, 1 );
645 trace contour until certain point is met.
704 CvSeq* contour,
724 cvStartAppendToSeq( contour, &writer );
727 ((CvChain *)contour)->origin = pt;
732 s_end = s = CV_IS_SEQ_HOLE( contour ) ? 0 : 4;
821 ((CvContour*)contour)->rect = rect;
844 CvSeq *contour = 0;
885 if( !(prev == 0 && p == 1) ) /* if not external contour */
904 /* find contour parent */
916 /* find the first bounding contour */
937 /* if current contour is a hole and previous contour is a hole or
938 current contour is external and previous contour is external then
939 the parent of the contour is the parent of the previous contour else
940 the parent is the previous contour itself. */
944 /* every contour must have a parent
950 /* hole flag of the parent must differ from the flag of the contour */
952 if( par_info->contour == 0 ) /* removed contour */
1006 l_cinfo->contour = seq;
1015 &(l_cinfo->contour),
1022 l_cinfo->contour->v_prev = l_cinfo->parent->contour;
1024 if( par_info->contour == 0 )
1026 l_cinfo->contour = 0;
1046 contour = l_cinfo->contour;
1070 contour = 0;
1076 return contour;
1081 The function add to tree the last retrieved/substituted contour,
1083 returns pointer to root of the contour tree */
1188 CV_ERROR( CV_StsBadSize, "Contour header size must be >= sizeof(CvContour)" );
1241 // First point of contour
1315 // First point of contour
1358 // First point of contour
1391 //First point of contour
1438 CvSeq* contour;
1457 contour = cvEndWriteSeq( &writer );
1458 cvBoundingRect( contour, 1 );
1461 contour->flags |= CV_SEQ_FLAG_HOLE;
1464 prev = first = contour;
1467 contour->h_prev = prev;
1468 prev = prev->h_next = contour;
1502 // mode - mode of contour retrieval.
1504 // first_contour - pointer to first contour pointer
1516 CvSeq *contour = 0;
1544 contour = cvFindNextContour( scanner );
1546 while( contour != 0 );