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

void Impala::Core::Tracking::ImagePyramid::ScaleAndCopy ( int  srcLevel  )  [inline, private]

Definition at line 130 of file ImagePyramid.h.

References FakeResizeScratch(), Impala::Core::Array::GaussDerivative(), Impala::Core::Array::Array2dTem< StorT, elemSize, ArithT >::mData, mLevels, mScratch, Impala::Core::Geometry::NEAREST, and Impala::Core::Array::Scale().

Referenced by ComputeNextLevel(), and PropagateBaseChanges().

00131     {
00132         int w,h;
00133         w = mLevels[srcLevel]->CW();
00134         h = mLevels[srcLevel]->CH();
00135         FakeResizeScratch(w,h);
00136 
00137         //warning: very very dirty tricks...
00138         //I'm incrementing the data pointer of the arrays so the gause filter 
00139         //processes the red,green and bleu planes appart
00140 
00141         //red
00142         Array::GaussDerivative(mScratch, mLevels[srcLevel], 1.0, 0, 0, 2.0);
00143 
00144         //green
00145         mScratch->mData += 1;
00146         mLevels[srcLevel]->mData += 1;
00147         Array::GaussDerivative<Array::Array2dVec3Real64,Array::Array2dVec3Real64>
00148             (mScratch, mLevels[srcLevel], 1.0, 0, 0, 2.0);
00149         
00150         //blue
00151         mScratch->mData += 1;
00152         mLevels[srcLevel]->mData += 1;
00153         Array::GaussDerivative(mScratch, mLevels[srcLevel], 1.0, 0, 0, 2.0);
00154         
00155         //restore pointer
00156         mScratch->mData -= 2;
00157         mLevels[srcLevel]->mData -= 2;
00158 
00159         Array::Scale(mLevels[srcLevel+1], mScratch, 0.5, 0.5, Geometry::NEAREST);
00160     }

Here is the call graph for this function:


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