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

std::vector<Array2dScalarReal64*> Impala::Core::Array::InvCompDer ( Array2dVec3Real64 *  src,
double  sigma,
double  precision,
bool  useRecGauss = false 
) [inline]

Computes L, Lx, and Ly at scale sigma for each component of the src image.

For example, on an RGB src image this results in a list consisting of: R, Rx, Ry, G, Gx, Gy, B, Bx, and By.

Definition at line 75 of file InvCompDer.h.

References GaussDerivative(), ProjectRange(), and RecGauss().

Referenced by Impala::Application::Src::WindowSrc::HandleNewFrame(), Impala::Application::DemoCamera2d::WindowCamera2d::HandleNewFrame(), and Impala::Core::Feature::WeibullIRGB().

00077 {
00078     std::vector<Array2dScalarReal64*> resList;
00079     for (int d=1 ; d<=3 ; d++)
00080     {
00081         Array2dScalarReal64* comp = 0;
00082         ProjectRange(comp, src, d);
00083         Array2dScalarReal64* p = 0;
00084         if (useRecGauss)
00085         {
00086             RecGauss(p, comp, sigma, sigma, 0, 0, precision);
00087             resList.push_back(p);
00088             p = 0;
00089             RecGauss(p, comp, sigma, sigma, 1, 0, precision);
00090             resList.push_back(p);
00091             p = 0;
00092             RecGauss(p, comp, sigma, sigma, 0, 1, precision);
00093             resList.push_back(p);
00094         }
00095         else
00096         {
00097             GaussDerivative(p, comp, sigma, 0, 0, precision);
00098             resList.push_back(p);
00099             p = 0;
00100             GaussDerivative(p, comp, sigma, 1, 0, precision);
00101             resList.push_back(p);
00102             p = 0;
00103             GaussDerivative(p, comp, sigma, 0, 1, precision);
00104             resList.push_back(p);
00105         }
00106         delete comp;
00107     }
00108     return resList;
00109 }

Here is the call graph for this function:


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