• Home
  • Raw
  • Download

Lines Matching refs:scanner

201     CvContourScanner scanner = 0;  in cvStartFindContours()  local
226 scanner = (CvContourScanner)cvAlloc( sizeof( *scanner )); in cvStartFindContours()
227 if( !scanner ) in cvStartFindContours()
230 memset( scanner, 0, sizeof( *scanner )); in cvStartFindContours()
232 scanner->storage1 = scanner->storage2 = storage; in cvStartFindContours()
233 scanner->img0 = (schar *) img; in cvStartFindContours()
234 scanner->img = (schar *) (img + step); in cvStartFindContours()
235 scanner->img_step = step; in cvStartFindContours()
236 scanner->img_size.width = size.width - 1; /* exclude rightest column */ in cvStartFindContours()
237 scanner->img_size.height = size.height - 1; /* exclude bottomost row */ in cvStartFindContours()
238 scanner->mode = mode; in cvStartFindContours()
239 scanner->offset = offset; in cvStartFindContours()
240 scanner->pt.x = scanner->pt.y = 1; in cvStartFindContours()
241 scanner->lnbd.x = 0; in cvStartFindContours()
242 scanner->lnbd.y = 1; in cvStartFindContours()
243 scanner->nbd = 2; in cvStartFindContours()
244 scanner->mode = (int) mode; in cvStartFindContours()
245 scanner->frame_info.contour = &(scanner->frame); in cvStartFindContours()
246 scanner->frame_info.is_hole = 1; in cvStartFindContours()
247 scanner->frame_info.next = 0; in cvStartFindContours()
248 scanner->frame_info.parent = 0; in cvStartFindContours()
249 scanner->frame_info.rect = cvRect( 0, 0, size.width, size.height ); in cvStartFindContours()
250 scanner->l_cinfo = 0; in cvStartFindContours()
251 scanner->subst_flag = 0; in cvStartFindContours()
253 scanner->frame.flags = CV_SEQ_FLAG_HOLE; in cvStartFindContours()
255 scanner->approx_method2 = scanner->approx_method1 = method; in cvStartFindContours()
258 scanner->approx_method1 = CV_CHAIN_CODE; in cvStartFindContours()
260 if( scanner->approx_method1 == CV_CHAIN_CODE ) in cvStartFindContours()
262 scanner->seq_type1 = CV_SEQ_CHAIN_CONTOUR; in cvStartFindContours()
263 scanner->header_size1 = scanner->approx_method1 == scanner->approx_method2 ? in cvStartFindContours()
265 scanner->elem_size1 = sizeof( char ); in cvStartFindContours()
269 scanner->seq_type1 = CV_SEQ_POLYGON; in cvStartFindContours()
270 scanner->header_size1 = scanner->approx_method1 == scanner->approx_method2 ? in cvStartFindContours()
272 scanner->elem_size1 = sizeof( CvPoint ); in cvStartFindContours()
275 scanner->header_size2 = header_size; in cvStartFindContours()
277 if( scanner->approx_method2 == CV_CHAIN_CODE ) in cvStartFindContours()
279 scanner->seq_type2 = scanner->seq_type1; in cvStartFindContours()
280 scanner->elem_size2 = scanner->elem_size1; in cvStartFindContours()
284 scanner->seq_type2 = CV_SEQ_POLYGON; in cvStartFindContours()
285 scanner->elem_size2 = sizeof( CvPoint ); in cvStartFindContours()
288 scanner->seq_type1 = scanner->approx_method1 == CV_CHAIN_CODE ? in cvStartFindContours()
291 scanner->seq_type2 = scanner->approx_method2 == CV_CHAIN_CODE ? in cvStartFindContours()
294 cvSaveMemStoragePos( storage, &(scanner->initial_pos) ); in cvStartFindContours()
298 scanner->storage1 = cvCreateChildMemStorage( scanner->storage2 ); in cvStartFindContours()
303 scanner->cinfo_storage = cvCreateChildMemStorage( scanner->storage2 ); in cvStartFindContours()
304 scanner->cinfo_set = cvCreateSet( 0, sizeof( CvSet ), sizeof( _CvContourInfo ), in cvStartFindContours()
305 scanner->cinfo_storage ); in cvStartFindContours()
306 if( scanner->cinfo_storage == 0 || scanner->cinfo_set == 0 ) in cvStartFindContours()
326 cvFree( &scanner ); in cvStartFindContours()
328 return scanner; in cvStartFindContours()
469 icvEndProcessContour( CvContourScanner scanner ) in icvEndProcessContour() argument
471 _CvContourInfo *l_cinfo = scanner->l_cinfo; in icvEndProcessContour()
475 if( scanner->subst_flag ) in icvEndProcessContour()
479 cvSaveMemStoragePos( scanner->storage2, &temp ); in icvEndProcessContour()
481 if( temp.top == scanner->backup_pos2.top && in icvEndProcessContour()
482 temp.free_space == scanner->backup_pos2.free_space ) in icvEndProcessContour()
484 cvRestoreMemStoragePos( scanner->storage2, &scanner->backup_pos ); in icvEndProcessContour()
486 scanner->subst_flag = 0; in icvEndProcessContour()
492 &(scanner->frame) ); in icvEndProcessContour()
494 scanner->l_cinfo = 0; in icvEndProcessContour()
500 cvSubstituteContour( CvContourScanner scanner, CvSeq * new_contour ) in cvSubstituteContour() argument
508 if( !scanner ) in cvSubstituteContour()
511 l_cinfo = scanner->l_cinfo; in cvSubstituteContour()
515 scanner->subst_flag = 1; in cvSubstituteContour()
835 cvFindNextContour( CvContourScanner scanner ) in cvFindNextContour() argument
853 if( !scanner ) in cvFindNextContour()
855 icvEndProcessContour( scanner ); in cvFindNextContour()
858 img0 = scanner->img0; in cvFindNextContour()
859 img = scanner->img; in cvFindNextContour()
860 step = scanner->img_step; in cvFindNextContour()
861 x = scanner->pt.x; in cvFindNextContour()
862 y = scanner->pt.y; in cvFindNextContour()
863 width = scanner->img_size.width; in cvFindNextContour()
864 height = scanner->img_size.height; in cvFindNextContour()
865 mode = scanner->mode; in cvFindNextContour()
866 lnbd = scanner->lnbd; in cvFindNextContour()
867 nbd = scanner->nbd; in cvFindNextContour()
907 par_info = &(scanner->frame_info); in cvFindNextContour()
912 _CvContourInfo *cur = scanner->cinfo_table[lval - 2]; in cvFindNextContour()
924 if( icvTraceContour( scanner->img0 + in cvFindNextContour()
947 par_info = &(scanner->frame_info); in cvFindNextContour()
958 cvSaveMemStoragePos( scanner->storage2, &(scanner->backup_pos) ); in cvFindNextContour()
960 seq = cvCreateSeq( scanner->seq_type1, scanner->header_size1, in cvFindNextContour()
961 scanner->elem_size1, scanner->storage1 ); in cvFindNextContour()
972 l_cinfo = &(scanner->cinfo_temp); in cvFindNextContour()
974 cvPoint( origin.x + scanner->offset.x, in cvFindNextContour()
975 origin.y + scanner->offset.y), in cvFindNextContour()
976 seq, scanner->approx_method1 ); in cvFindNextContour()
984 cvSetAdd( scanner->cinfo_set, 0, &v.se ); in cvFindNextContour()
988 cvPoint( origin.x + scanner->offset.x, in cvFindNextContour()
989 origin.y + scanner->offset.y), in cvFindNextContour()
990 seq, scanner->approx_method1, in cvFindNextContour()
994 l_cinfo->rect.x -= scanner->offset.x; in cvFindNextContour()
995 l_cinfo->rect.y -= scanner->offset.y; in cvFindNextContour()
997 l_cinfo->next = scanner->cinfo_table[nbd - 2]; in cvFindNextContour()
998 scanner->cinfo_table[nbd - 2] = l_cinfo; in cvFindNextContour()
1010 if( scanner->approx_method1 != scanner->approx_method2 ) in cvFindNextContour()
1013 scanner->header_size2, in cvFindNextContour()
1014 scanner->storage2, in cvFindNextContour()
1016 scanner->approx_method2 ); in cvFindNextContour()
1019 cvClearMemStorage( scanner->storage1 ); in cvFindNextContour()
1027 if( scanner->storage1 == scanner->storage2 ) in cvFindNextContour()
1029 cvRestoreMemStoragePos( scanner->storage1, &(scanner->backup_pos) ); in cvFindNextContour()
1033 cvClearMemStorage( scanner->storage1 ); in cvFindNextContour()
1039 cvSaveMemStoragePos( scanner->storage2, &(scanner->backup_pos2) ); in cvFindNextContour()
1040 scanner->l_cinfo = l_cinfo; in cvFindNextContour()
1041 scanner->pt.x = x + 1; in cvFindNextContour()
1042 scanner->pt.y = y; in cvFindNextContour()
1043 scanner->lnbd = lnbd; in cvFindNextContour()
1044 scanner->img = (schar *) img; in cvFindNextContour()
1045 scanner->nbd = nbd; in cvFindNextContour()
1087 CvContourScanner scanner; in cvEndFindContours() local
1096 scanner = *_scanner; in cvEndFindContours()
1098 if( scanner ) in cvEndFindContours()
1100 icvEndProcessContour( scanner ); in cvEndFindContours()
1102 if( scanner->storage1 != scanner->storage2 ) in cvEndFindContours()
1103 cvReleaseMemStorage( &(scanner->storage1) ); in cvEndFindContours()
1105 if( scanner->cinfo_storage ) in cvEndFindContours()
1106 cvReleaseMemStorage( &(scanner->cinfo_storage) ); in cvEndFindContours()
1108 first = scanner->frame.v_next; in cvEndFindContours()
1515 CvContourScanner scanner = 0; in cvFindContours() local
1537 CV_CALL( scanner = cvStartFindContours( img, storage, in cvFindContours()
1539 assert( scanner ); in cvFindContours()
1544 contour = cvFindNextContour( scanner ); in cvFindContours()
1548 *firstContour = cvEndFindContours( &scanner ); in cvFindContours()