Home | History | Annotate | Download | only in src

Lines Matching refs:classifier

90     CvHidHaarClassifier* classifier;
171 /* create more efficient internal representation of haar classifier cascade */
197 CV_ERROR( !cascade ? CV_StsNullPtr : CV_StsBadArg, "Invalid classifier pointer" );
211 internal representation of the classifier cascade */
216 if( !stage_classifier->classifier ||
219 sprintf( errorstr, "header of the stage classifier #%d is invalid "
229 CvHaarClassifier* classifier = stage_classifier->classifier + j;
231 total_nodes += classifier->count;
232 for( l = 0; l < classifier->count; l++ )
236 if( classifier->haar_feature[l].rect[k].r.width )
238 CvRect r = classifier->haar_feature[l].rect[k].r;
239 int tilted = classifier->haar_feature[l].tilted;
250 sprintf( errorstr, "rectangle #%d of the classifier #%d of "
251 "the stage classifier #%d is not inside "
289 hid_stage_classifier->classifier = haar_classifier_ptr;
304 CvHaarClassifier* classifier = stage_classifier->classifier + j;
305 CvHidHaarClassifier* hid_classifier = hid_stage_classifier->classifier + j;
306 int node_count = classifier->count;
316 CvHaarFeature* feature = classifier->haar_feature + l;
318 node->threshold = classifier->threshold[l];
319 node->left = classifier->left[l];
320 node->right = classifier->right[l];
330 memcpy( alpha_ptr, classifier->alpha, (node_count+1)*sizeof(alpha_ptr[0]));
366 CvHaarClassifier* classifier = stage_classifier->classifier + j;
367 int rect_count = 2 + (classifier->haar_feature->rect[2].r.width != 0);
369 ipp_thresholds[j] = classifier->threshold[0];
370 ipp_val1[j] = classifier->alpha[0];
371 ipp_val2[j] = classifier->alpha[1];
376 ipp_features[k] = classifier->haar_feature->rect[l].r;
378 ipp_weights[k] = classifier->haar_feature->rect[l].weight*ipp_weight_scale;
448 CV_ERROR( !_cascade ? CV_StsNullPtr : CV_StsBadArg, "Invalid classifier pointer" );
526 for( l = 0; l < cascade->stage_classifier[i].classifier[j].count; l++ )
529 &_cascade->stage_classifier[i].classifier[j].haar_feature[l];
530 /* CvHidHaarClassifier* classifier =
531 cascade->stage_classifier[i].classifier + j; */
533 &cascade->stage_classifier[i].classifier[j].node[l].feature;
665 double icvEvalHidHaarClassifier( CvHidHaarClassifier* classifier,
672 CvHidHaarTreeNode* node = classifier->node + idx;
684 return classifier->alpha[-idx];
740 stage_sum += icvEvalHidHaarClassifier( ptr->classifier + j,
770 CvHidHaarClassifier* classifier = cascade->stage_classifier[i].classifier + j;
771 CvHidHaarTreeNode* node = classifier->node;
777 a = classifier->alpha[0];
778 b = classifier->alpha[1];
786 CvHidHaarClassifier* classifier = cascade->stage_classifier[i].classifier + j;
787 CvHidHaarTreeNode* node = classifier->node;
796 a = classifier->alpha[0];
797 b = classifier->alpha[1];
818 cascade->stage_classifier[i].classifier + j,
884 CV_ERROR( !cascade ? CV_StsNullPtr : CV_StsBadArg, "Invalid classifier cascade" );
1558 cascade->stage_classifier[i].classifier =
1559 (CvHaarClassifier*)cvAlloc( count*sizeof(cascade->stage_classifier[i].classifier[0]));
1563 CvHaarClassifier* classifier = cascade->stage_classifier[i].classifier + j;
1567 sscanf( stage, "%d%n", &classifier->count, &dl );
1570 classifier->haar_feature = (CvHaarFeature*) cvAlloc(
1571 classifier->count * ( sizeof( *classifier->haar_feature ) +
1572 sizeof( *classifier->threshold ) +
1573 sizeof( *classifier->left ) +
1574 sizeof( *classifier->right ) ) +
1575 (classifier->count + 1) * sizeof( *classifier->alpha ) );
1576 classifier->threshold = (float*) (classifier->haar_feature+classifier->count);
1577 classifier->left = (int*) (classifier->threshold + classifier->count);
1578 classifier->right = (int*) (classifier->left + classifier->count);
1579 classifier->alpha = (float*) (classifier->right + classifier->count);
1581 for( l = 0; l < classifier->count; l++ )
1594 &(classifier->haar_feature[l].rect[k].weight), &dl );
1596 classifier->haar_feature[l].rect[k].r = r;
1601 classifier->haar_feature[l].tilted = strncmp( str, "tilted", 6 ) == 0;
1605 memset( classifier->haar_feature[l].rect + k, 0,
1606 sizeof(classifier->haar_feature[l].rect[k]) );
1609 sscanf( stage, "%f%d%d%n", &(classifier->threshold[l]),
1610 &(classifier->left[l]),
1611 &(classifier->right[l]), &dl );
1614 for( l = 0; l <= classifier->count; l++ )
1616 sscanf( stage, "%f%n", &(classifier->alpha[l]), &dl );
1673 /* try to read the classifier from directory */
1739 cvFree( &cascade->stage_classifier[i].classifier[j].haar_feature );
1740 cvFree( &cascade->stage_classifier[i].classifier );
1835 CV_CALL( cascade->stage_classifier[i].classifier =
1837 * sizeof( cascade->stage_classifier[i].classifier[0] ) ) );
1840 cascade->stage_classifier[i].classifier[j].haar_feature = NULL;
1849 CvHaarClassifier* classifier;
1852 classifier = &cascade->stage_classifier[i].classifier[j];
1861 classifier->count = tree_fn->data.seq->total;
1862 CV_CALL( classifier->haar_feature = (CvHaarFeature*) cvAlloc(
1863 classifier->count * ( sizeof( *classifier->haar_feature ) +
1864 sizeof( *classifier->threshold ) +
1865 sizeof( *classifier->left ) +
1866 sizeof( *classifier->right ) ) +
1867 (classifier->count + 1) * sizeof( *classifier->alpha ) ) );
1868 classifier->threshold = (float*) (classifier->haar_feature+classifier->count);
1869 classifier->left = (int*) (classifier->threshold + classifier->count);
1870 classifier->right = (int*) (classifier->left + classifier->count);
1871 classifier->alpha = (float*) (classifier->right + classifier->count);
1964 classifier->haar_feature[k].rect[l].weight = (float) fn->data.f;
1965 classifier->haar_feature[k].rect[l].r = r;
1971 classifier->haar_feature[k].rect[l].weight = 0;
1972 classifier->haar_feature[k].rect[l].r = cvRect( 0, 0, 0, 0 );
1982 classifier->haar_feature[k].tilted = ( fn->data.i != 0 );
1990 classifier->threshold[k] = (float) fn->data.f;
2002 classifier->left[k] = fn->data.i;
2021 if( last_idx >= classifier->count + 1 )
2027 classifier->left[k] = -last_idx;
2028 classifier->alpha[last_idx++] = (float) fn->data.f;
2041 classifier->right[k] = fn->data.i;
2060 if( last_idx >= classifier->count + 1 )
2066 classifier->right[k] = -last_idx;
2067 classifier->alpha[last_idx++] = (float) fn->data.f;
2072 if( last_idx != classifier->count + 1 )
2165 CvHaarClassifier* tree = &cascade->stage_classifier[i].classifier[j];
2275 CV_CALL( cascade->stage_classifier[i].classifier =
2277 * sizeof( cascade->stage_classifier[i].classifier[0] ) ) );
2283 cascade->stage_classifier[i].classifier[j].haar_feature = NULL;
2289 &cascade_src->stage_classifier[i].classifier[j];
2290 CvHaarClassifier* classifier =
2291 &cascade->stage_classifier[i].classifier[j];
2293 classifier->count = classifier_src->count;
2294 CV_CALL( classifier->haar_feature = (CvHaarFeature*) cvAlloc(
2295 classifier->count * ( sizeof( *classifier->haar_feature ) +
2296 sizeof( *classifier->threshold ) +
2297 sizeof( *classifier->left ) +
2298 sizeof( *classifier->right ) ) +
2299 (classifier->count + 1) * sizeof( *classifier->alpha ) ) );
2300 classifier->threshold = (float*) (classifier->haar_feature+classifier->count);
2301 classifier->left = (int*) (classifier->threshold + classifier->count);
2302 classifier->right = (int*) (classifier->left + classifier->count);
2303 classifier->alpha = (float*) (classifier->right + classifier->count);
2304 for( k = 0; k < classifier->count; ++k )
2306 classifier->haar_feature[k] = classifier_src->haar_feature[k];
2307 classifier->threshold[k] = classifier_src->threshold[k];
2308 classifier->left[k] = classifier_src->left[k];
2309 classifier->right[k] = classifier_src->right[k];
2310 classifier->alpha[k] = classifier_src->alpha[k];
2312 classifier->alpha[classifier->count] =
2313 classifier_src->alpha[classifier->count];