fixed most of the failures in opencv_test
This commit is contained in:
@@ -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 );
|
||||
|
@@ -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;
|
||||
|
Reference in New Issue
Block a user