template<class DstArrayT, class SrcArrayT>
Definition at line 20 of file RecGauss.h. References ConvKernel1d(), ConvKernelSeparated(), MakeGaussIIR1d(), and RecConvKernelSeparated(). Referenced by Impala::Core::VideoSet::ShotSegmenter::BlurImage(), Impala::Core::Array::Octaves::BuildOctave(), ColorGaborResponses(), ColorGaussResponses(), ColorMoments(), Impala::Core::VideoSet::BlackFrameProc::ComputeGradient(), Impala::Core::VideoSet::BlackFrameDetect::ComputeGradient(), Impala::Core::Feature::FISTDescriptor< INDEX_SIZE, ORI_SIZE >::ComputeGradient(), Impala::Application::Im::DoRecGaussVec3UInt8(), Impala::Core::Array::ColorMoments::FillMomentCache(), Impala::Visualization::Background::HandleNewFrame(), Impala::Application::WindowBackground::HandleNewFrame(), Harris(), Impala::Core::Feature::HarrisLaplaceDetector::harrisCornerDetector(), InvCompDer(), Laplacian(), Resample(), VisSemGabor(), and Impala::Core::Feature::WeibullIRGB(). 00022 { 00023 bool hasDer = ((dx != 0) || (dy != 0)); 00024 DstArrayT* tmp = 0; 00025 00026 Array2dScalarReal64* gx = MakeGaussIIR1d(sx, dx, recurOrder); 00027 Array2dScalarReal64* gy = MakeGaussIIR1d(sy, dy, recurOrder); 00028 if (hasDer) 00029 RecConvKernelSeparated(tmp, src, gx, gy); 00030 else 00031 RecConvKernelSeparated(dst, src, gx, gy); 00032 delete gx; 00033 delete gy; 00034 00035 if (!hasDer) 00036 return; 00037 00038 double d1[3] = {-0.5, 0, 0.5}; 00039 double d2[3] = {1, -2, 1}; 00040 Array2dScalarReal64* kerx = 0; 00041 Array2dScalarReal64* kery = 0; 00042 00043 if (dx == 1) 00044 kerx = MakeFromData<Array2dScalarReal64>(d1, 3, 1, 0, 0, true); 00045 // kerx = MakeFromData<Array2dScalarReal64>(d1, 3, 1); 00046 if (dx == 2) 00047 kerx = MakeFromData<Array2dScalarReal64>(d2, 3, 1, 0, 0, true); 00048 // kerx = MakeFromData<Array2dScalarReal64>(d2, 3, 1); 00049 if (dy == 1) 00050 kery = MakeFromData<Array2dScalarReal64>(d1, 3, 1, 0, 0, true); 00051 // kery = MakeFromData<Array2dScalarReal64>(d1, 3, 1); 00052 if (dy == 2) 00053 kery = MakeFromData<Array2dScalarReal64>(d2, 3, 1, 0, 0, true); 00054 // kery = MakeFromData<Array2dScalarReal64>(d2, 3, 1); 00055 00056 if ((kerx != 0) && (kery != 0)) 00057 { 00058 std::cout << "doing it" << std::endl; 00059 ConvKernelSeparated(dst, tmp, kerx, kery); 00060 } 00061 else 00062 { 00063 if (kerx != 0) 00064 ConvKernel1d(dst, tmp, 1, kerx); 00065 else 00066 ConvKernel1d(dst, tmp, 2, kery); 00067 } 00068 delete kerx; 00069 delete kery; 00070 delete tmp; 00071 }
Here is the call graph for this function:
|