mirror of
https://github.com/opencv/opencv.git
synced 2026-07-29 07:13:02 +04:00
Use HAL for cv::mean function too.
This commit is contained in:
committed by
Alexander Smorkalov
parent
1e013a07c4
commit
7aaada4175
@@ -130,13 +130,29 @@ Scalar mean(InputArray _src, InputArray _mask)
|
||||
CV_Assert( mask.empty() || mask.type() == CV_8U );
|
||||
|
||||
int k, cn = src.channels(), depth = src.depth();
|
||||
Scalar s;
|
||||
Scalar s = Scalar::all(0.0);
|
||||
|
||||
CV_Assert( cn <= 4 );
|
||||
|
||||
CV_IPP_RUN(IPP_VERSION_X100 >= 700, ipp_mean(src, mask, s), s)
|
||||
|
||||
if (src.isContinuous() && mask.isContinuous())
|
||||
{
|
||||
CALL_HAL_RET2(meanStdDev, cv_hal_meanStdDev, s, src.data, 0, (int)src.total(), 1, src.type(),
|
||||
&s[0], nullptr /*stddev*/, mask.data, 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (src.dims <= 2)
|
||||
{
|
||||
CALL_HAL_RET2(meanStdDev, cv_hal_meanStdDev, s, src.data, src.step, src.cols, src.rows, src.type(),
|
||||
&s[0], nullptr, mask.data, mask.step);
|
||||
}
|
||||
}
|
||||
|
||||
SumFunc func = getSumFunc(depth);
|
||||
|
||||
CV_Assert( cn <= 4 && func != 0 );
|
||||
CV_Assert( func != 0 );
|
||||
|
||||
const Mat* arrays[] = {&src, &mask, 0};
|
||||
uchar* ptrs[2] = {};
|
||||
|
||||
Reference in New Issue
Block a user