Merge pull request #10107 from ElenaGvozdeva:medianBlur_HAL

pull/10177/head
Vadim Pisarevsky 7 years ago
commit 92be112388
  1. 15
      modules/imgproc/src/hal_replacement.hpp
  2. 5
      modules/imgproc/src/smooth.cpp

@ -615,6 +615,21 @@ inline int hal_ni_integral(int depth, int sdepth, int sqdepth, const uchar * src
#define cv_hal_integral hal_ni_integral
//! @endcond
/**
@brief Calculate medianBlur filter
@param src_data,src_step Source image
@param dst_data,dst_step Destination image
@param width,height Source image dimensions
@param depth Depths of source and destination image
@param cn Number of channels
@param ksize Size of kernel
*/
inline int hal_ni_medianBlur(const uchar* src_data, size_t src_step, uchar* dst_data, size_t dst_step, int width, int height, int depth, int cn, int ksize) { return CV_HAL_ERROR_NOT_IMPLEMENTED; }
//! @cond IGNORED
#define cv_hal_medianBlur hal_ni_medianBlur
//! @endcond
//! @}
#if defined __GNUC__

@ -3123,6 +3123,9 @@ void cv::medianBlur( InputArray _src0, OutputArray _dst, int ksize )
_dst.create( src0.size(), src0.type() );
Mat dst = _dst.getMat();
CALL_HAL(medianBlur, cv_hal_medianBlur, src0.data, src0.step, dst.data, dst.step, src0.cols, src0.rows, src0.depth(),
src0.channels(), ksize);
CV_OVX_RUN(true,
openvx_medianFilter(_src0, _dst, ksize))
@ -3162,7 +3165,7 @@ void cv::medianBlur( InputArray _src0, OutputArray _dst, int ksize )
}
else
{
cv::copyMakeBorder( src0, src, 0, 0, ksize/2, ksize/2, BORDER_REPLICATE );
cv::copyMakeBorder( src0, src, 0, 0, ksize/2, ksize/2, BORDER_REPLICATE|BORDER_ISOLATED);
int cn = src0.channels();
CV_Assert( src.depth() == CV_8U && (cn == 1 || cn == 3 || cn == 4) );

Loading…
Cancel
Save