diff --git a/modules/imgproc/src/hal_replacement.hpp b/modules/imgproc/src/hal_replacement.hpp index 28bfd31090..304877cb8b 100644 --- a/modules/imgproc/src/hal_replacement.hpp +++ b/modules/imgproc/src/hal_replacement.hpp @@ -903,6 +903,21 @@ inline int hal_ni_boxFilter(const uchar* src_data, size_t src_step, uchar* dst_d #define cv_hal_boxFilter hal_ni_boxFilter //! @endcond +/** + @brief Equalizes the histogram of a grayscale image + @param src_data Source image data + @param src_step Source image step + @param dst_data Destination image data + @param dst_step Destination image step + @param width Source image width + @param height Source image height +*/ +inline int hal_ni_equalize_hist(const uchar* src_data, size_t src_step, uchar* dst_data, size_t dst_step, int width, int height) { return CV_HAL_ERROR_NOT_IMPLEMENTED; } + +//! @cond IGNORED +#define cv_hal_equalize_hist hal_ni_equalize_hist +//! @endcond + /** @brief Blurs an image using a generic Gaussian filter. @param src_data Source image data diff --git a/modules/imgproc/src/histogram.cpp b/modules/imgproc/src/histogram.cpp index 99d5e7b1d8..02e97ba129 100644 --- a/modules/imgproc/src/histogram.cpp +++ b/modules/imgproc/src/histogram.cpp @@ -3452,6 +3452,8 @@ void cv::equalizeHist( InputArray _src, OutputArray _dst ) CV_OVX_RUN(!ovx::skipSmallImages(src.cols, src.rows), openvx_equalize_hist(src, dst)) + CALL_HAL(equalizeHist, cv_hal_equalize_hist, src.data, src.step, dst.data, dst.step, src.cols, src.rows); + Mutex histogramLockInstance; const int hist_sz = EqualizeHistCalcHist_Invoker::HIST_SZ;