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

std::vector<Array2dScalarReal64*> Impala::Core::Trec::BuildInvCwFeatureList ( Array2dVec3Real64 *  im,
double  precision,
int  border 
)

Definition at line 81 of file TrecFeature.h.

References Impala::Core::Array::ColorSpace(), Impala::Core::Array::E, MyRestrict(), Impala::Core::Array::Element::OOO, Impala::Core::Array::ProjectRange(), Impala::Core::Array::RecGauss(), and Impala::Core::Array::Element::RGB.

00082 {
00083         Array2dVec3Real64* imO = 0;
00084         ColorSpace(imO, im, Element::RGB, Element::OOO);
00085 
00086         const int nrScales = 3;
00087         //double scales[nrScales] = {1.0, 2.0, 3.5};
00088         double scales[nrScales] = {2.0, 4.0, 8.0};
00089 
00090         std::vector<Array2dScalarReal64*> imList;
00091         Array2dScalarReal64* ch = 0;
00092         Array2dScalarReal64* res = 0;
00093         Array2dScalarReal64* E = 0;
00094         Array2dScalarReal64* Ex = 0;
00095         Array2dScalarReal64* Ey = 0;
00096         Array2dScalarReal64* El = 0;
00097         Array2dScalarReal64* Elx = 0;
00098         Array2dScalarReal64* Ely = 0;
00099         Array2dScalarReal64* Ell = 0;
00100         Array2dScalarReal64* Ellx = 0;
00101         Array2dScalarReal64* Elly = 0;
00102         //for all scales
00103         for (int i=0 ; i<nrScales ; i++)
00104     {
00105                 ProjectRange(ch, imO, 1);
00106                 RecGauss(E, ch, scales[i], scales[i], 0, 0, precision);         
00107                 RecGauss(Ex, ch, scales[i], scales[i], 1, 0, precision);                
00108                 RecGauss(Ey, ch, scales[i], scales[i], 0, 1, precision);                
00109 
00110                 ProjectRange(ch, imO, 2);
00111                 RecGauss(El, ch, scales[i], scales[i], 0, 0, precision);                
00112                 RecGauss(Elx, ch, scales[i], scales[i], 1, 0, precision);               
00113                 RecGauss(Ely, ch, scales[i], scales[i], 0, 1, precision);               
00114 
00115                 ProjectRange(ch, imO, 3);
00116                 RecGauss(Ell, ch, scales[i], scales[i], 0, 0, precision);               
00117                 RecGauss(Ellx, ch, scales[i], scales[i], 1, 0, precision);              
00118                 RecGauss(Elly, ch, scales[i], scales[i], 0, 1, precision);              
00119 
00120                 M9N4poConFeat<Array2dScalarReal64, Array2dScalarReal64>
00121                         mnpoConFeat(scales[i]);
00122                 std::vector<Array2dScalarReal64*> fList;
00123                 fList = Pattern::PatM9N4PixOp<Array2dScalarReal64>
00124             (E, Ex, Ey, El, Elx, Ely, Ell, Ellx, Elly, mnpoConFeat);
00125                 if (border != 0)
00126         {
00127                         MyRestrict(fList[0], border);
00128                         MyRestrict(fList[1], border);
00129                         MyRestrict(fList[2], border);
00130                         MyRestrict(fList[3], border);
00131                 }
00132 
00133                 imList.push_back(fList[0]); // Cl
00134                 imList.push_back(fList[1]); // Cll
00135                 imList.push_back(fList[2]); // Clw
00136                 imList.push_back(fList[3]); // Cllw
00137         }
00138         delete imO;
00139         delete ch;
00140         delete res;
00141         delete E;
00142         delete Ex;
00143         delete Ey;
00144         delete El;
00145         delete Elx;
00146         delete Ely;
00147         delete Ell;
00148         delete Ellx;
00149         delete Elly;
00150         return imList;
00151 }

Here is the call graph for this function:


Generated on Fri Mar 19 11:25:12 2010 for ImpalaSrc by  doxygen 1.5.1