More sensible error messages
This commit is contained in:
parent
28833421ae
commit
4762728fd5
@ -2972,7 +2972,13 @@ static void collectCalibrationData( InputArrayOfArrays objectPoints,
|
|||||||
for( i = 0; i < nimages; i++ )
|
for( i = 0; i < nimages; i++ )
|
||||||
{
|
{
|
||||||
ni = objectPoints.getMat(i).checkVector(3, CV_32F);
|
ni = objectPoints.getMat(i).checkVector(3, CV_32F);
|
||||||
CV_Assert( ni >= 0 );
|
if( ni <= 0 )
|
||||||
|
CV_Error(CV_StsUnsupportedFormat, "objectPoints should contain vector of vectors of points of type Point3f");
|
||||||
|
int ni1 = imagePoints1.getMat(i).checkVector(2, CV_32F);
|
||||||
|
if( ni1 <= 0 )
|
||||||
|
CV_Error(CV_StsUnsupportedFormat, "imagePoints1 should contain vector of vectors of points of type Point2f");
|
||||||
|
CV_Assert( ni == ni1 );
|
||||||
|
|
||||||
total += ni;
|
total += ni;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2995,8 +3001,6 @@ static void collectCalibrationData( InputArrayOfArrays objectPoints,
|
|||||||
Mat objpt = objectPoints.getMat(i);
|
Mat objpt = objectPoints.getMat(i);
|
||||||
Mat imgpt1 = imagePoints1.getMat(i);
|
Mat imgpt1 = imagePoints1.getMat(i);
|
||||||
ni = objpt.checkVector(3, CV_32F);
|
ni = objpt.checkVector(3, CV_32F);
|
||||||
int ni1 = imgpt1.checkVector(2, CV_32F);
|
|
||||||
CV_Assert( ni > 0 && ni == ni1 );
|
|
||||||
npoints.at<int>(i) = ni;
|
npoints.at<int>(i) = ni;
|
||||||
memcpy( objPtData + j, objpt.ptr(), ni*sizeof(objPtData[0]) );
|
memcpy( objPtData + j, objpt.ptr(), ni*sizeof(objPtData[0]) );
|
||||||
memcpy( imgPtData1 + j, imgpt1.ptr(), ni*sizeof(imgPtData1[0]) );
|
memcpy( imgPtData1 + j, imgpt1.ptr(), ni*sizeof(imgPtData1[0]) );
|
||||||
|
@ -193,7 +193,9 @@ cvStartFindContours( void* _img, CvMemStorage* storage,
|
|||||||
|
|
||||||
if( !((CV_IS_MASK_ARR( mat ) && mode < CV_RETR_FLOODFILL) ||
|
if( !((CV_IS_MASK_ARR( mat ) && mode < CV_RETR_FLOODFILL) ||
|
||||||
(CV_MAT_TYPE(mat->type) == CV_32SC1 && mode == CV_RETR_FLOODFILL)) )
|
(CV_MAT_TYPE(mat->type) == CV_32SC1 && mode == CV_RETR_FLOODFILL)) )
|
||||||
CV_Error( CV_StsUnsupportedFormat, "[Start]FindContours support only 8uC1 and 32sC1 images" );
|
CV_Error( CV_StsUnsupportedFormat,
|
||||||
|
"[Start]FindContours supports only CV_8UC1 images when mode != CV_RETR_FLOODFILL "
|
||||||
|
"otherwise supports CV_32SC1 images only" );
|
||||||
|
|
||||||
CvSize size = cvSize( mat->width, mat->height );
|
CvSize size = cvSize( mat->width, mat->height );
|
||||||
int step = mat->step;
|
int step = mat->step;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user