1
0
mirror of https://github.com/opencv/opencv.git synced 2026-07-30 15:53:03 +04:00

Merge pull request #11984 from mshabunin:fix-static-1

This commit is contained in:
Alexander Alekhin
2018-07-17 15:40:48 +00:00
31 changed files with 79 additions and 23 deletions
@@ -861,7 +861,9 @@ bool Mat::isSubmatrix() const
inline
size_t Mat::elemSize() const
{
return dims > 0 ? step.p[dims - 1] : 0;
size_t res = dims > 0 ? step.p[dims - 1] : 0;
CV_DbgAssert(res != 0);
return res;
}
inline
@@ -3789,7 +3791,9 @@ bool UMat::isSubmatrix() const
inline
size_t UMat::elemSize() const
{
return dims > 0 ? step.p[dims - 1] : 0;
size_t res = dims > 0 ? step.p[dims - 1] : 0;
CV_DbgAssert(res != 0);
return res;
}
inline
+1 -1
View File
@@ -1233,7 +1233,7 @@ void cv::compare(InputArray _src1, InputArray _src2, OutputArray _dst, int op)
CV_Assert( op == CMP_LT || op == CMP_LE || op == CMP_EQ ||
op == CMP_NE || op == CMP_GE || op == CMP_GT );
if(_src1.empty() && _src2.empty())
if(_src1.empty() || _src2.empty())
{
_dst.release();
return;
+1
View File
@@ -263,6 +263,7 @@ void cv::batchDistance( InputArray _src1, InputArray _src2,
if( crosscheck )
{
CV_Assert( K == 1 && update == 0 && mask.empty() );
CV_Assert(!nidx.empty());
Mat tdist, tidx;
batchDistance(src2, src1, tdist, dtype, tidx, normType, K, mask, 0, false);
+2
View File
@@ -411,6 +411,8 @@ Mat& Mat::operator = (const Scalar& s)
{
CV_INSTRUMENT_REGION()
if (empty()) return *this;
const Mat* arrays[] = { this };
uchar* dptr;
NAryMatIterator it(arrays, &dptr, 1);
+2
View File
@@ -511,6 +511,8 @@ static RandnScaleFunc randnScaleTab[] =
void RNG::fill( InputOutputArray _mat, int disttype,
InputArray _param1arg, InputArray _param2arg, bool saturateRange )
{
if (_mat.empty())
return;
Mat mat = _mat.getMat(), _param1 = _param1arg.getMat(), _param2 = _param2arg.getMat();
int depth = mat.depth(), cn = mat.channels();
AutoBuffer<double> _parambuf;
+3 -2
View File
@@ -168,11 +168,12 @@ void Core_RandTest::run( int )
{
tested_rng = saved_rng;
int sz = 0, dsz = 0, slice;
for( slice = 0; slice < maxSlice; slice++, sz += dsz )
for( slice = 0; slice < maxSlice && sz < SZ; slice++, sz += dsz )
{
dsz = slice+1 < maxSlice ? (int)(cvtest::randInt(rng) % (SZ - sz + 1)) : SZ - sz;
dsz = slice+1 < maxSlice ? (int)(cvtest::randInt(rng) % (SZ - sz) + 1) : SZ - sz;
Mat aslice = arr[k].colRange(sz, sz + dsz);
tested_rng.fill(aslice, dist_type, A, B);
printf("%d - %d\n", sz, sz + dsz);
}
}