fixed most of the failures in opencv_test

This commit is contained in:
Vadim Pisarevsky
2010-11-06 14:56:01 +00:00
parent 7d2e7d48e6
commit 5a53d82e30
16 changed files with 70 additions and 53 deletions

View File

@@ -620,14 +620,14 @@ CV_IMPL int cvFindFundamentalMat( const CvMat* points1, const CvMat* points2,
result = estimator.run7Point(m1, m2, &_F9x3);
else if( count == 8 || method == CV_FM_8POINT )
result = estimator.run8Point(m1, m2, &_F3x3);
else if( count > 8 )
else if( count >= 8 )
{
if( param1 <= 0 )
param1 = 3;
if( param2 < DBL_EPSILON || param2 > 1 - DBL_EPSILON )
param2 = 0.99;
if( (method & ~3) == CV_RANSAC )
if( (method & ~3) == CV_RANSAC && count >= 15 )
result = estimator.runRANSAC(m1, m2, &_F3x3, tempMask, param1, param2 );
else
result = estimator.runLMeDS(m1, m2, &_F3x3, tempMask, param2 );

View File

@@ -261,7 +261,7 @@ bool CvModelEstimator2::runLMeDS( const CvMat* m1, const CvMat* m2, CvMat* model
if( minMedian < DBL_MAX )
{
sigma = 2.5*1.4826*(1 + 5./(count - modelPoints))*sqrt(minMedian);
sigma = MAX( sigma, FLT_EPSILON*100 );
sigma = MAX( sigma, 0.001 );
count = findInliers( m1, m2, model, err, mask, sigma );
result = count >= modelPoints;