Home || Visual Search || Applications || Architecture || Important Messages || OGL || Src

Impala::Core::Tracking::ImagePyramid::ImagePyramid ( Array::Array2dVec3Real64 base  )  [inline]

The base image is stored, but caller ramains responsible for calling delete.

Computes maximum number of levels.

Definition at line 28 of file ImagePyramid.h.

References Impala::Core::Array::Array2dTem< StorT, elemSize, ArithT >::BH(), Impala::Core::Array::Array2dTem< StorT, elemSize, ArithT >::BW(), Impala::Core::Array::Array2dTem< StorT, elemSize, ArithT >::CH(), Impala::Core::Array::Array2dTem< StorT, elemSize, ArithT >::CW(), Impala::Core::Array::MakeGaussian1d(), mGaussKernel, mLevels, mMaxTop, mScratch, and Impala::Core::Array::Pattern::PatSet().

00029     {
00030         // the base image is stored, but not owned
00031         mLevels.reserve(8);
00032         mLevels.push_back(base);
00033         mScratch = new Array::Array2dVec3Real64(base->CW(), base->CH(),
00034                                                 base->BW(), base->BH(), 0);
00035             Array::Array2dScalarReal64* kernel = Array::MakeGaussian1d(1.0, 0, 1.0, 3);
00036         mGaussKernel = new Array::Array2dVec3Real64(kernel->CW(), kernel->CH(),
00037                                                     kernel->BW(), kernel->BH(), 0);
00038         Array::Pattern::PatSet(mGaussKernel,kernel,0,0,kernel->CW(),kernel->CH(),0,0);
00039         delete kernel;
00040 
00041         int w,h;
00042         w = base->CW();
00043         h = base->CH();
00044         mMaxTop = 1;
00045         while(w>2 && h>2 && w*h>100)
00046         {
00047             w/=2;
00048             h/=2;
00049             mMaxTop++;
00050         }
00051     }

Here is the call graph for this function:


Generated on Thu Jan 13 09:21:04 2011 for ImpalaSrc by  doxygen 1.5.1