Tegra optimization for GaussianBlur

pull/13383/head
Andrey Kamaev 13 years ago
parent c53313b06f
commit 70416be0dd
  1. 18
      modules/imgproc/src/smooth.cpp

@ -418,12 +418,6 @@ void cv::GaussianBlur( InputArray _src, OutputArray _dst, Size ksize,
_dst.create( src.size(), src.type() );
Mat dst = _dst.getMat();
if( ksize.width == 1 && ksize.height == 1 )
{
src.copyTo(dst);
return;
}
if( borderType != BORDER_CONSTANT )
{
if( src.rows == 1 )
@ -431,6 +425,18 @@ void cv::GaussianBlur( InputArray _src, OutputArray _dst, Size ksize,
if( src.cols == 1 )
ksize.width = 1;
}
if( ksize.width == 1 && ksize.height == 1 )
{
src.copyTo(dst);
return;
}
#ifdef HAVE_TEGRA_OPTIMIZATION
if(tegra::gaussian(src, dst, ksize, borderType))
return;
#endif
Ptr<FilterEngine> f = createGaussianFilter( src.type(), ksize, sigma1, sigma2, borderType );
f->apply( src, dst );
}

Loading…
Cancel
Save