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

void Impala::Core::Array::Resample ( Array2dVec3UInt8 *&  dst,
Array2dVec3UInt8 *  src,
int  newWidth,
int  newHeight 
) [inline]

Definition at line 25 of file Resample.h.

References ArrayListDelete(), Impala::Core::Array::Array2dTem< StorT, elemSize, ArithT >::CH(), Impala::Core::Array::Array2dTem< StorT, elemSize, ArithT >::CW(), Impala::Core::Array::Array2dTem< StorT, elemSize, ArithT >::ElemSize(), Impala::Core::Geometry::LINEAR, MakeFrom3Images(), Impala::Application::DemoCamera2d::precision, ProjectRange(), RecGauss(), and Scale().

Referenced by Impala::Core::Feature::ComputeRegionDescriptor().

00027 {
00028     double scaleX = (double) newWidth / src->CW();
00029     double scaleY = (double) newHeight / src->CH();
00030 
00031     // reduce by factor of 2 == sigma 0.75
00032     //double sigmaX = (1.0 / scaleX) * 0.375;
00033     //double sigmaY = (1.0 / scaleY) * 0.375;
00034     double sigmaX = 0.75;
00035     double sigmaY = sigmaX;
00036 
00037     std::vector<Array2dScalarReal64*> resList;
00038     for (int d=1 ; d<=src->ElemSize() ; d++)
00039     {
00040         Array2dScalarUInt8* comp = 0;
00041         ProjectRange(comp, src, d);
00042         double precision = 3.0;
00043         Array2dScalarReal64* compReal = 0;
00044         //Set(compReal, comp);
00045         Scale(compReal, comp, scaleX, scaleY, Geometry::LINEAR, true);
00046         Array2dScalarReal64* p = 0;
00047         RecGauss(p, compReal, sigmaX, sigmaY, 0, 0, precision);
00048         resList.push_back(p);
00049         delete comp;
00050         delete compReal;
00051     }
00052     MakeFrom3Images(dst, resList[0], resList[1], resList[2]);
00053     ArrayListDelete(&resList);
00054 }

Here is the call graph for this function:


Generated on Fri Mar 19 10:58:31 2010 for ImpalaSrc by  doxygen 1.5.1