mirror of
https://github.com/opencv/opencv.git
synced 2026-07-30 07:43:03 +04:00
backport: checks and fixes from static code analyzers results
original commit: 71f665bd8c
This commit is contained in:
@@ -791,6 +791,7 @@ int ChessBoardDetector::orderFoundConnectedQuads(std::vector<ChessBoardQuad*>& q
|
||||
|
||||
for (int i = 0; i < 4; i++)
|
||||
{
|
||||
CV_DbgAssert(q);
|
||||
ChessBoardQuad *neighbor = q->neighbors[i];
|
||||
switch(i) // adjust col, row for this quad
|
||||
{ // start at top left, go clockwise
|
||||
@@ -1271,6 +1272,7 @@ int ChessBoardDetector::cleanFoundConnectedQuads(std::vector<ChessBoardQuad*>& q
|
||||
for (int i = 0; i < quad_count; ++i)
|
||||
{
|
||||
ChessBoardQuad *q = quad_group[i];
|
||||
CV_DbgAssert(q);
|
||||
for (int j = 0; j < 4; ++j)
|
||||
{
|
||||
if (q->neighbors[j] == q0)
|
||||
@@ -1328,6 +1330,7 @@ void ChessBoardDetector::findConnectedQuads(std::vector<ChessBoardQuad*>& out_gr
|
||||
stack.pop();
|
||||
for (int k = 0; k < 4; k++ )
|
||||
{
|
||||
CV_DbgAssert(q);
|
||||
ChessBoardQuad *neighbor = q->neighbors[k];
|
||||
if (neighbor && neighbor->count > 0 && neighbor->group_idx < 0 )
|
||||
{
|
||||
@@ -1716,6 +1719,7 @@ void ChessBoardDetector::findQuadNeighbors()
|
||||
int k = 0;
|
||||
for (; k < 4; k++ )
|
||||
{
|
||||
CV_DbgAssert(q);
|
||||
if (!q->neighbors[k])
|
||||
{
|
||||
if (normL2Sqr<float>(closest_corner.pt - q->corners[k]->pt) < min_dist)
|
||||
@@ -2090,6 +2094,7 @@ void drawChessboardCorners( InputOutputArray image, Size patternSize,
|
||||
return;
|
||||
Mat corners = _corners.getMat();
|
||||
const Point2f* corners_data = corners.ptr<Point2f>(0);
|
||||
CV_DbgAssert(corners_data);
|
||||
int nelems = corners.checkVector(2, CV_32F, true);
|
||||
CV_Assert(nelems >= 0);
|
||||
|
||||
|
||||
@@ -978,9 +978,9 @@ CV_IMPL void cvFindExtrinsicCameraParams2( const CvMat* objectPoints,
|
||||
|
||||
int i, count;
|
||||
double a[9], ar[9]={1,0,0,0,1,0,0,0,1}, R[9];
|
||||
double MM[9], U[9], V[9], W[3];
|
||||
double MM[9] = { 0 }, U[9] = { 0 }, V[9] = { 0 }, W[3] = { 0 };
|
||||
cv::Scalar Mc;
|
||||
double param[6];
|
||||
double param[6] = { 0 };
|
||||
CvMat matA = cvMat( 3, 3, CV_64F, a );
|
||||
CvMat _Ar = cvMat( 3, 3, CV_64F, ar );
|
||||
CvMat matR = cvMat( 3, 3, CV_64F, R );
|
||||
@@ -1199,8 +1199,9 @@ CV_IMPL void cvInitIntrinsicParams2D( const CvMat* objectPoints,
|
||||
CvMat matH = cvMat( 3, 3, CV_64F, H );
|
||||
CvMat _f = cvMat( 2, 1, CV_64F, f );
|
||||
|
||||
assert( CV_MAT_TYPE(npoints->type) == CV_32SC1 &&
|
||||
CV_IS_MAT_CONT(npoints->type) );
|
||||
CV_Assert(npoints);
|
||||
CV_Assert(CV_MAT_TYPE(npoints->type) == CV_32SC1);
|
||||
CV_Assert(CV_IS_MAT_CONT(npoints->type));
|
||||
nimages = npoints->rows + npoints->cols - 1;
|
||||
|
||||
if( (CV_MAT_TYPE(objectPoints->type) != CV_32FC3 &&
|
||||
@@ -1221,6 +1222,9 @@ CV_IMPL void cvInitIntrinsicParams2D( const CvMat* objectPoints,
|
||||
// extract vanishing points in order to obtain initial value for the focal length
|
||||
for( i = 0, pos = 0; i < nimages; i++, pos += ni )
|
||||
{
|
||||
CV_DbgAssert(npoints->data.i);
|
||||
CV_DbgAssert(matA && matA->data.db);
|
||||
CV_DbgAssert(_b && _b->data.db);
|
||||
double* Ap = matA->data.db + i*4;
|
||||
double* bp = _b->data.db + i*2;
|
||||
ni = npoints->data.i[i];
|
||||
@@ -1231,6 +1235,7 @@ CV_IMPL void cvInitIntrinsicParams2D( const CvMat* objectPoints,
|
||||
cvGetCols( imagePoints, &_m, pos, pos + ni );
|
||||
|
||||
cvFindHomography( &matM, &_m, &matH );
|
||||
CV_DbgAssert(_allH && _allH->data.db);
|
||||
memcpy( _allH->data.db + i*9, H, sizeof(H) );
|
||||
|
||||
H[0] -= H[6]*a[2]; H[1] -= H[7]*a[2]; H[2] -= H[8]*a[2];
|
||||
@@ -3828,6 +3833,7 @@ static void adjust3rdMatrix(InputArrayOfArrays _imgpt1_0,
|
||||
|
||||
double y1_ = 0, y2_ = 0, y1y1_ = 0, y1y2_ = 0;
|
||||
size_t n = imgpt1.size();
|
||||
CV_DbgAssert(n > 0);
|
||||
|
||||
for( size_t i = 0; i < n; i++ )
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user