Lines Matching defs:rect
61 rect[CV_HAAR_FEATURE_MAX];
218 if( classifier->haar_feature[l].rect[k].r.width )
220 CvRect r = classifier->haar_feature[l].rect[k].r;
304 if( fabs(feature->rect[2].weight) < DBL_EPSILON ||
305 feature->rect[2].r.width == 0 ||
306 feature->rect[2].r.height == 0 )
307 memset( &(node->feature.rect[2]), 0, sizeof(node->feature.rect[2]) );
349 int rect_count = 2 + (classifier->haar_feature->rect[2].r.width != 0);
358 ipp_features[k] = classifier->haar_feature->rect[l].r;
360 ipp_weights[k] = classifier->haar_feature->rect[l].weight*ipp_weight_scale;
398 #define calc_sum(rect,offset) \
399 ((rect).p0[offset] - (rect).p1[offset] - (rect).p2[offset] + (rect).p3[offset])
413 double sum = calc_sum(node->feature.rect[0],p_offset) * node->feature.rect[0].weight;
414 sum += calc_sum(node->feature.rect[1],p_offset) * node->feature.rect[1].weight;
416 if( node->feature.rect[2].p0 )
417 sum += calc_sum(node->feature.rect[2],p_offset) * node->feature.rect[2].weight;
563 int sum = calc_sum(node->feature.rect[0],p_offset) * node->feature.rect[0].weight;
564 sum += calc_sum(node->feature.rect[1],p_offset) * node->feature.rect[1].weight;
575 int sum = calc_sum(node->feature.rect[0],p_offset) * node->feature.rect[0].weight;
576 sum += calc_sum(node->feature.rect[1],p_offset) * node->feature.rect[1].weight;
577 if( node->feature.rect[2].p0 )
578 sum += calc_sum(node->feature.rect[2],p_offset) * node->feature.rect[2].weight;
747 if( !hidfeature->rect[k].p0 )
750 r[k] = feature->rect[k].r;
817 const float orig_feature_size = (float)(feature->rect[k].r.width)*feature->rect[k].r.height;
833 hidfeature->rect[k].p0 = sum_elem_ptr(*sum, tr.y, tr.x);
834 hidfeature->rect[k].p1 = sum_elem_ptr(*sum, tr.y, tr.x + tr.width);
835 hidfeature->rect[k].p2 = sum_elem_ptr(*sum, tr.y + tr.height, tr.x);
836 hidfeature->rect[k].p3 = sum_elem_ptr(*sum, tr.y + tr.height, tr.x + tr.width);
840 hidfeature->rect[k].p2 = sum_elem_ptr(*tilted, tr.y + tr.width, tr.x + tr.width);
841 hidfeature->rect[k].p3 = sum_elem_ptr(*tilted, tr.y + tr.width + tr.height,
843 hidfeature->rect[k].p0 = sum_elem_ptr(*tilted, tr.y, tr.x);
844 hidfeature->rect[k].p1 = sum_elem_ptr(*tilted, tr.y + tr.height, tr.x - tr.height);
847 // hidfeature->rect[k].weight = (float)(feature->rect[k].weight * correction_ratio);
848 tmpweight[k] = (float)(feature->rect[k].weight * correction_ratio);
853 // sum0 += hidfeature->rect[k].weight * tr.width * tr.height;
859 for(int ii = 0; ii < nr; hidfeature->rect[ii].weight = (int)(tmpweight[ii] * 65536.0), ii++);
1254 CvRect rect = cvRect(ix,iy,win_size.width,win_size.height);
1255 cvSeqPush( seq_thread[thread_id], &rect );
1269 CvRect rect = cvRect(ix,iy,win_size.width,win_size.height);
1270 cvSeqPush( seq_thread[thread_id], &rect );
1314 comps[idx].rect.x += r1.x;
1315 comps[idx].rect.y += r1.y;
1316 comps[idx].rect.width += r1.width;
1317 comps[idx].rect.height += r1.height;
1327 comp.rect.x = (comps[i].rect.x*2 + n)/(2*n);
1328 comp.rect.y = (comps[i].rect.y*2 + n)/(2*n);
1329 comp.rect.width = (comps[i].rect.width*2 + n)/(2*n);
1330 comp.rect.height = (comps[i].rect.height*2 + n)/(2*n);
1340 comps[i].rect.x = comps[i].rect.y = INT_MAX;
1351 // rect.width and rect.height will store coordinate of right-bottom corner
1352 comps[idx].rect.x = MIN(comps[idx].rect.x, r1.x);
1353 comps[idx].rect.y = MIN(comps[idx].rect.y, r1.y);
1354 comps[idx].rect.width = MAX(comps[idx].rect.width, r1.x+r1.width-1);
1355 comps[idx].rect.height = MAX(comps[idx].rect.height, r1.y+r1.height-1);
1367 comp.rect.x = comps[i].rect.x;
1368 comp.rect.y = comps[i].rect.y;
1369 comp.rect.width = comps[i].rect.width - comps[i].rect.x + 1;
1370 comp.rect.height = comps[i].rect.height - comps[i].rect.y + 1;
1373 t = cvRound( comp.rect.width*min_scale );
1376 t = cvRound( comp.rect.height*min_scale );
1382 int offset = cvRound(comp.rect.width * 0.2);
1383 int right = MIN( img->cols-1, comp.rect.x+comp.rect.width-1 + offset );
1384 int bottom = MIN( img->rows-1, comp.rect.y+comp.rect.height-1 + offset);
1385 comp.rect.x = MAX( comp.rect.x - offset, 0 );
1386 comp.rect.y = MAX( comp.rect.y - offset, 0 );
1387 comp.rect.width = right - comp.rect.x + 1;
1388 comp.rect.height = bottom - comp.rect.y + 1;
1400 // extract the biggest rect
1407 int area = comp->rect.width * comp->rect.height;
1411 result_comp.rect = comp->rect;
1423 scan_roi_rect = result_comp.rect;
1432 scan_roi_rect = result_comp.rect;
1449 CvRect* rect = (CvRect*)cvGetSeqElem( seq, i );
1451 comp.rect = *rect;
1477 comps[idx].rect.x += r1.x;
1478 comps[idx].rect.y += r1.y;
1479 comps[idx].rect.width += r1.width;
1480 comps[idx].rect.height += r1.height;
1490 comp.rect.x = (comps[i].rect.x*2 + n)/(2*n);
1491 comp.rect.y = (comps[i].rect.y*2 + n)/(2*n);
1492 comp.rect.width = (comps[i].rect.width*2 + n)/(2*n);
1493 comp.rect.height = (comps[i].rect.height*2 + n)/(2*n);
1511 int distance = cvRound( r2.rect.width * 0.2 );
1514 r1.rect.x >= r2.rect.x - distance &&
1515 r1.rect.y >= r2.rect.y - distance &&
1516 r1.rect.x + r1.rect.width <= r2.rect.x + r2.rect.width + distance &&
1517 r1.rect.y + r1.rect.height <= r2.rect.y + r2.rect.height + distance &&
1535 int area = comp->rect.width * comp->rect.height;
1549 if( find_biggest_object && result_comp.rect.width > 0 )