MCPcopy Create free account
hub / github.com/RoboMaster/RoboRTS / PCAFeatureMaps

Function PCAFeatureMaps

roborts_tracking/KCFcpp/src/fhog.cpp:414–482  ·  view source on GitHub ↗

// Feature map reduction // In each cell we reduce dimension of the feature vector // according to original paper special procedure // // API // int PCAFeatureMaps(featureMap *map) // INPUT // map - feature map // OUTPUT // map - feature map // RESULT // Error status */

Source from the content-addressed store, hash-verified

412// Error status
413*/
414int PCAFeatureMaps(CvLSVMFeatureMapCaskade *map)
415{
416 int i,j, ii, jj, k;
417 int sizeX, sizeY, p, pp, xp, yp, pos1, pos2;
418 float * newData;
419 float val;
420 float nx, ny;
421
422 sizeX = map->sizeX;
423 sizeY = map->sizeY;
424 p = map->numFeatures;
425 pp = NUM_SECTOR * 3 + 4;
426 yp = 4;
427 xp = NUM_SECTOR;
428
429 nx = 1.0f / sqrtf((float)(xp * 2));
430 ny = 1.0f / sqrtf((float)(yp ));
431
432 newData = (float *)malloc (sizeof(float) * (sizeX * sizeY * pp));
433
434 for(i = 0; i < sizeY; i++)
435 {
436 for(j = 0; j < sizeX; j++)
437 {
438 pos1 = ((i)*sizeX + j)*p;
439 pos2 = ((i)*sizeX + j)*pp;
440 k = 0;
441 for(jj = 0; jj < xp * 2; jj++)
442 {
443 val = 0;
444 for(ii = 0; ii < yp; ii++)
445 {
446 val += map->map[pos1 + yp * xp + ii * xp * 2 + jj];
447 }/*for(ii = 0; ii < yp; ii++)*/
448 newData[pos2 + k] = val * ny;
449 k++;
450 }/*for(jj = 0; jj < xp * 2; jj++)*/
451 for(jj = 0; jj < xp; jj++)
452 {
453 val = 0;
454 for(ii = 0; ii < yp; ii++)
455 {
456 val += map->map[pos1 + ii * xp + jj];
457 }/*for(ii = 0; ii < yp; ii++)*/
458 newData[pos2 + k] = val * ny;
459 k++;
460 }/*for(jj = 0; jj < xp; jj++)*/
461 for(ii = 0; ii < yp; ii++)
462 {
463 val = 0;
464 for(jj = 0; jj < 2 * xp; jj++)
465 {
466 val += map->map[pos1 + yp * xp + ii * xp * 2 + jj];
467 }/*for(jj = 0; jj < xp; jj++)*/
468 newData[pos2 + k] = val * nx;
469 k++;
470 } /*for(ii = 0; ii < yp; ii++)*/
471 }/*for(j = 0; j < sizeX; j++)*/

Callers 1

getFeaturesMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected