mirror of
https://github.com/opencv/opencv.git
synced 2025-06-07 17:44:04 +08:00
Merge pull request #10107 from ElenaGvozdeva:medianBlur_HAL
This commit is contained in:
commit
92be112388
@ -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
|
#define cv_hal_integral hal_ni_integral
|
||||||
//! @endcond
|
//! @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__
|
#if defined __GNUC__
|
||||||
|
@ -3123,6 +3123,9 @@ void cv::medianBlur( InputArray _src0, OutputArray _dst, int ksize )
|
|||||||
_dst.create( src0.size(), src0.type() );
|
_dst.create( src0.size(), src0.type() );
|
||||||
Mat dst = _dst.getMat();
|
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,
|
CV_OVX_RUN(true,
|
||||||
openvx_medianFilter(_src0, _dst, ksize))
|
openvx_medianFilter(_src0, _dst, ksize))
|
||||||
|
|
||||||
@ -3162,7 +3165,7 @@ void cv::medianBlur( InputArray _src0, OutputArray _dst, int ksize )
|
|||||||
}
|
}
|
||||||
else
|
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();
|
int cn = src0.channels();
|
||||||
CV_Assert( src.depth() == CV_8U && (cn == 1 || cn == 3 || cn == 4) );
|
CV_Assert( src.depth() == CV_8U && (cn == 1 || cn == 3 || cn == 4) );
|
||||||
|
Loading…
Reference in New Issue
Block a user