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:
|