Fixed warnings and parameter name mismatches, added #include needed in some platforms.
This commit is contained in:
parent
e6420bde73
commit
de55126b69
@ -314,11 +314,11 @@ CV_EXPORTS_W int estimateAffine3D(InputArray src, InputArray dst,
|
|||||||
double ransacThreshold = 3, double confidence = 0.99);
|
double ransacThreshold = 3, double confidence = 0.99);
|
||||||
|
|
||||||
|
|
||||||
CV_EXPORTS_W int decomposeHomographyMat(InputArray _H,
|
CV_EXPORTS_W int decomposeHomographyMat(InputArray H,
|
||||||
InputArray _K,
|
InputArray K,
|
||||||
OutputArrayOfArrays _rotations,
|
OutputArrayOfArrays rotations,
|
||||||
OutputArrayOfArrays _translations,
|
OutputArrayOfArrays translations,
|
||||||
OutputArrayOfArrays _normals);
|
OutputArrayOfArrays normals);
|
||||||
|
|
||||||
class CV_EXPORTS_W StereoMatcher : public Algorithm
|
class CV_EXPORTS_W StereoMatcher : public Algorithm
|
||||||
{
|
{
|
||||||
|
@ -47,6 +47,7 @@
|
|||||||
//M*/
|
//M*/
|
||||||
|
|
||||||
#include "precomp.hpp"
|
#include "precomp.hpp"
|
||||||
|
#include <memory>
|
||||||
|
|
||||||
namespace cv
|
namespace cv
|
||||||
{
|
{
|
||||||
@ -189,7 +190,7 @@ void HomographyDecompZhang::decompose(std::vector<CameraMotion>& camMotions)
|
|||||||
double lambda1t3 = lambda1*lambda3;
|
double lambda1t3 = lambda1*lambda3;
|
||||||
|
|
||||||
double t1 = 1.0/(2.0*lambda1t3);
|
double t1 = 1.0/(2.0*lambda1t3);
|
||||||
double t2 = sqrtf(1.0+4.0*lambda1t3/lambda1m3_2);
|
double t2 = sqrt(1.0+4.0*lambda1t3/lambda1m3_2);
|
||||||
double t12 = t1*t2;
|
double t12 = t1*t2;
|
||||||
|
|
||||||
double e1 = -t1 + t12; //t1*(-1.0f + t2 );
|
double e1 = -t1 + t12; //t1*(-1.0f + t2 );
|
||||||
@ -197,8 +198,8 @@ void HomographyDecompZhang::decompose(std::vector<CameraMotion>& camMotions)
|
|||||||
double e1_2 = e1*e1;
|
double e1_2 = e1*e1;
|
||||||
double e3_2 = e3*e3;
|
double e3_2 = e3*e3;
|
||||||
|
|
||||||
double nv1p = sqrtf(e1_2*lambda1m3_2 + 2*e1*(lambda1t3-1) + 1.0);
|
double nv1p = sqrt(e1_2*lambda1m3_2 + 2*e1*(lambda1t3-1) + 1.0);
|
||||||
double nv3p = sqrtf(e3_2*lambda1m3_2 + 2*e3*(lambda1t3-1) + 1.0);
|
double nv3p = sqrt(e3_2*lambda1m3_2 + 2*e3*(lambda1t3-1) + 1.0);
|
||||||
double v1p[3], v3p[3];
|
double v1p[3], v3p[3];
|
||||||
|
|
||||||
v1p[0]=Vt.at<double>(0)*nv1p, v1p[1]=Vt.at<double>(1)*nv1p, v1p[2]=Vt.at<double>(2)*nv1p;
|
v1p[0]=Vt.at<double>(0)*nv1p, v1p[1]=Vt.at<double>(1)*nv1p, v1p[2]=Vt.at<double>(2)*nv1p;
|
||||||
@ -378,7 +379,7 @@ void HomographyDecompInria::decompose(std::vector<CameraMotion>& camMotions)
|
|||||||
}
|
}
|
||||||
|
|
||||||
double traceS = S(0, 0) + S(1, 1) + S(2, 2);
|
double traceS = S(0, 0) + S(1, 1) + S(2, 2);
|
||||||
double v = 2.0 * sqrtf(1 + traceS - M00 - M11 - M22);
|
double v = 2.0 * sqrt(1 + traceS - M00 - M11 - M22);
|
||||||
|
|
||||||
double ESii = signd(S(indx, indx)) ;
|
double ESii = signd(S(indx, indx)) ;
|
||||||
double r_2 = 2 + traceS + v;
|
double r_2 = 2 + traceS + v;
|
||||||
|
@ -68,9 +68,9 @@ protected:
|
|||||||
decomposeHomographyMat(_H, _K, rotations, translations, normals);
|
decomposeHomographyMat(_H, _K, rotations, translations, normals);
|
||||||
|
|
||||||
//there should be at least 1 solution
|
//there should be at least 1 solution
|
||||||
ASSERT_GT(rotations.size(), 0);
|
ASSERT_GT(static_cast<int>(rotations.size()), 0);
|
||||||
ASSERT_GT(translations.size(), 0);
|
ASSERT_GT(static_cast<int>(translations.size()), 0);
|
||||||
ASSERT_GT(normals.size(), 0);
|
ASSERT_GT(static_cast<int>(normals.size()), 0);
|
||||||
|
|
||||||
ASSERT_EQ(rotations.size(), normals.size());
|
ASSERT_EQ(rotations.size(), normals.size());
|
||||||
ASSERT_EQ(translations.size(), normals.size());
|
ASSERT_EQ(translations.size(), normals.size());
|
||||||
@ -78,7 +78,7 @@ protected:
|
|||||||
ASSERT_TRUE(containsValidMotion(rotations, translations, normals));
|
ASSERT_TRUE(containsValidMotion(rotations, translations, normals));
|
||||||
|
|
||||||
decomposeHomographyMat(_H, _K, rotations, noArray(), noArray());
|
decomposeHomographyMat(_H, _K, rotations, noArray(), noArray());
|
||||||
ASSERT_GT(rotations.size(), 0);
|
ASSERT_GT(static_cast<int>(rotations.size()), 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user