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