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