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

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

Definition at line 113 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().

00114     {
00115         int w,h;
00116         w = mLevels[srcLevel]->CW();
00117         h = mLevels[srcLevel]->CH();
00118         FakeResizeScratch(w,h);
00119 
00120         //warning: very very dirty tricks...
00121         //I'm incrementing the data pointer of the arrays so the gause filter 
00122         //processes the red,green and bleu planes appart
00123 
00124         //red
00125         Array::GaussDerivative(mScratch, mLevels[srcLevel], 1.0, 0, 0, 2.0);
00126 
00127         //green
00128         mScratch->mData += 1;
00129         mLevels[srcLevel]->mData += 1;
00130         Array::GaussDerivative<Array::Array2dVec3Real64,Array::Array2dVec3Real64>
00131             (mScratch, mLevels[srcLevel], 1.0, 0, 0, 2.0);
00132         
00133         //blue
00134         mScratch->mData += 1;
00135         mLevels[srcLevel]->mData += 1;
00136         Array::GaussDerivative(mScratch, mLevels[srcLevel], 1.0, 0, 0, 2.0);
00137         
00138         //restore pointer
00139         mScratch->mData -= 2;
00140         mLevels[srcLevel]->mData -= 2;
00141 
00142         Array::Scale(mLevels[srcLevel+1], mScratch, 0.5, 0.5, Geometry::NEAREST);
00143     }

Here is the call graph for this function:


Generated on Fri Mar 19 11:22:26 2010 for ImpalaSrc by  doxygen 1.5.1