mirror of
https://github.com/opencv/opencv.git
synced 2026-07-31 00:03:03 +04:00
Merge branch 4.x
This commit is contained in:
@@ -55,6 +55,11 @@ static void LUT8u_32s( const uchar* src, const int* lut, int* dst, int len, int
|
||||
LUT8u_( src, lut, dst, len, cn, lutcn );
|
||||
}
|
||||
|
||||
static void LUT8u_16f( const uchar* src, const hfloat* lut, hfloat* dst, int len, int cn, int lutcn )
|
||||
{
|
||||
LUT8u_( src, lut, dst, len, cn, lutcn );
|
||||
}
|
||||
|
||||
static void LUT8u_32f( const uchar* src, const float* lut, float* dst, int len, int cn, int lutcn )
|
||||
{
|
||||
LUT8u_( src, lut, dst, len, cn, lutcn );
|
||||
@@ -70,7 +75,7 @@ typedef void (*LUTFunc)( const uchar* src, const uchar* lut, uchar* dst, int len
|
||||
static LUTFunc lutTab[CV_DEPTH_MAX] =
|
||||
{
|
||||
(LUTFunc)LUT8u_8u, (LUTFunc)LUT8u_8s, (LUTFunc)LUT8u_16u, (LUTFunc)LUT8u_16s,
|
||||
(LUTFunc)LUT8u_32s, (LUTFunc)LUT8u_32f, (LUTFunc)LUT8u_64f, 0
|
||||
(LUTFunc)LUT8u_32s, (LUTFunc)LUT8u_32f, (LUTFunc)LUT8u_64f, (LUTFunc)LUT8u_16f
|
||||
};
|
||||
|
||||
#ifdef HAVE_OPENCL
|
||||
|
||||
@@ -484,6 +484,10 @@ void meanStdDev(InputArray _src, OutputArray _mean, OutputArray _sdv, InputArray
|
||||
int dcn = (int)mean_mat.total();
|
||||
CV_Assert( mean_mat.type() == CV_64F && mean_mat.isContinuous() &&
|
||||
(mean_mat.cols == 1 || mean_mat.rows == 1) && dcn >= cn );
|
||||
|
||||
double* dptr = mean_mat.ptr<double>();
|
||||
for(k = cn ; k < dcn; k++ )
|
||||
dptr[k] = 0;
|
||||
}
|
||||
|
||||
if (_sdv.needed())
|
||||
@@ -495,6 +499,11 @@ void meanStdDev(InputArray _src, OutputArray _mean, OutputArray _sdv, InputArray
|
||||
int dcn = (int)stddev_mat.total();
|
||||
CV_Assert( stddev_mat.type() == CV_64F && stddev_mat.isContinuous() &&
|
||||
(stddev_mat.cols == 1 || stddev_mat.rows == 1) && dcn >= cn );
|
||||
|
||||
double* dptr = stddev_mat.ptr<double>();
|
||||
for(k = cn ; k < dcn; k++ )
|
||||
dptr[k] = 0;
|
||||
|
||||
}
|
||||
|
||||
if (src.isContinuous() && mask.isContinuous())
|
||||
@@ -596,23 +605,17 @@ void meanStdDev(InputArray _src, OutputArray _mean, OutputArray _sdv, InputArray
|
||||
if (_mean.needed())
|
||||
{
|
||||
const double* sptr = s;
|
||||
int dcn = (int)mean_mat.total();
|
||||
double* dptr = mean_mat.ptr<double>();
|
||||
for( k = 0; k < cn; k++ )
|
||||
dptr[k] = sptr[k];
|
||||
for( ; k < dcn; k++ )
|
||||
dptr[k] = 0;
|
||||
}
|
||||
|
||||
if (_sdv.needed())
|
||||
{
|
||||
const double* sptr = sq;
|
||||
int dcn = (int)stddev_mat.total();
|
||||
double* dptr = stddev_mat.ptr<double>();
|
||||
for( k = 0; k < cn; k++ )
|
||||
dptr[k] = sptr[k];
|
||||
for( ; k < dcn; k++ )
|
||||
dptr[k] = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user