|
|
@ -1561,8 +1561,8 @@ void cv::boxFilter( InputArray _src, OutputArray _dst, int ddepth, |
|
|
|
|
|
|
|
|
|
|
|
CvRect margin = cvRect(ofs.x, ofs.y, wsz.width - src.cols - ofs.x, wsz.height - src.rows - ofs.y); |
|
|
|
CvRect margin = cvRect(ofs.x, ofs.y, wsz.width - src.cols - ofs.x, wsz.height - src.rows - ofs.y); |
|
|
|
|
|
|
|
|
|
|
|
CALL_HAL(boxFilter, cv_hal_boxFilter, sdepth, ddepth, src.ptr(), src.step, dst.ptr(), dst.step, |
|
|
|
CALL_HAL(boxFilter, cv_hal_boxFilter, sdepth, ddepth, src.ptr(), src.step, dst.ptr(), dst.step, src.cols, src.rows, cn, |
|
|
|
(CvSize)(ksize), (CvPoint)(anchor), normalize, borderType, margin, src.cols, src.rows, cn); |
|
|
|
margin, (CvSize)(ksize), (CvPoint)(anchor), normalize, borderType); |
|
|
|
|
|
|
|
|
|
|
|
#ifdef HAVE_TEGRA_OPTIMIZATION |
|
|
|
#ifdef HAVE_TEGRA_OPTIMIZATION |
|
|
|
if ( tegra::useTegra() && tegra::box(src, dst, ksize, anchor, normalize, borderType) ) |
|
|
|
if ( tegra::useTegra() && tegra::box(src, dst, ksize, anchor, normalize, borderType) ) |
|
|
@ -2114,6 +2114,22 @@ void cv::GaussianBlur( InputArray _src, OutputArray _dst, Size ksize, |
|
|
|
_src.rows() > ksize.height && _src.cols() > ksize.width); |
|
|
|
_src.rows() > ksize.height && _src.cols() > ksize.width); |
|
|
|
(void)useOpenCL; |
|
|
|
(void)useOpenCL; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Mat src = _src.getMat(); |
|
|
|
|
|
|
|
Mat dst = _dst.getMat(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
int sdepth = CV_MAT_DEPTH(type), cn = CV_MAT_CN(type); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Point ofs; |
|
|
|
|
|
|
|
Size wsz(src.cols, src.rows); |
|
|
|
|
|
|
|
if(!(borderType & BORDER_ISOLATED)) |
|
|
|
|
|
|
|
src.locateROI( wsz, ofs ); |
|
|
|
|
|
|
|
borderType = (borderType&~BORDER_ISOLATED); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CvRect margin = cvRect(ofs.x, ofs.y, wsz.width - src.cols - ofs.x, wsz.height - src.rows - ofs.y); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CALL_HAL(gaussianBlur, cv_hal_gaussianBlur, sdepth, src.ptr(), src.step, dst.ptr(), dst.step, src.cols, src.rows, cn, |
|
|
|
|
|
|
|
margin, (CvSize)(ksize), sigma1, sigma2, borderType); |
|
|
|
|
|
|
|
|
|
|
|
CV_IPP_RUN(!useOpenCL, ipp_GaussianBlur( _src, _dst, ksize, sigma1, sigma2, borderType)); |
|
|
|
CV_IPP_RUN(!useOpenCL, ipp_GaussianBlur( _src, _dst, ksize, sigma1, sigma2, borderType)); |
|
|
|
|
|
|
|
|
|
|
|
Mat kx, ky; |
|
|
|
Mat kx, ky; |
|
|
|