Reduce veriables scope, move declaration to first use
This commit is contained in:
parent
5850a9b8c3
commit
4e582b131b
@ -116,7 +116,7 @@ static CvStatus icvPOSIT( CvPOSITObject *pObject, CvPoint2D32f *imagePoints,
|
|||||||
{
|
{
|
||||||
int i, j, k;
|
int i, j, k;
|
||||||
int count = 0, converged = 0;
|
int count = 0, converged = 0;
|
||||||
float inorm, jnorm, invInorm, invJnorm, invScale, scale = 0, inv_Z = 0;
|
float scale = 0, inv_Z = 0;
|
||||||
float diff = (float)criteria.epsilon;
|
float diff = (float)criteria.epsilon;
|
||||||
|
|
||||||
/* Check bad arguments */
|
/* Check bad arguments */
|
||||||
@ -195,16 +195,18 @@ static CvStatus icvPOSIT( CvPOSITObject *pObject, CvPoint2D32f *imagePoints,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
inorm = rotation[0] /*[0][0]*/ * rotation[0] /*[0][0]*/ +
|
float inorm =
|
||||||
|
rotation[0] /*[0][0]*/ * rotation[0] /*[0][0]*/ +
|
||||||
rotation[1] /*[0][1]*/ * rotation[1] /*[0][1]*/ +
|
rotation[1] /*[0][1]*/ * rotation[1] /*[0][1]*/ +
|
||||||
rotation[2] /*[0][2]*/ * rotation[2] /*[0][2]*/;
|
rotation[2] /*[0][2]*/ * rotation[2] /*[0][2]*/;
|
||||||
|
|
||||||
jnorm = rotation[3] /*[1][0]*/ * rotation[3] /*[1][0]*/ +
|
float jnorm =
|
||||||
|
rotation[3] /*[1][0]*/ * rotation[3] /*[1][0]*/ +
|
||||||
rotation[4] /*[1][1]*/ * rotation[4] /*[1][1]*/ +
|
rotation[4] /*[1][1]*/ * rotation[4] /*[1][1]*/ +
|
||||||
rotation[5] /*[1][2]*/ * rotation[5] /*[1][2]*/;
|
rotation[5] /*[1][2]*/ * rotation[5] /*[1][2]*/;
|
||||||
|
|
||||||
invInorm = cvInvSqrt( inorm );
|
const float invInorm = cvInvSqrt( inorm );
|
||||||
invJnorm = cvInvSqrt( jnorm );
|
const float invJnorm = cvInvSqrt( jnorm );
|
||||||
|
|
||||||
inorm *= invInorm;
|
inorm *= invInorm;
|
||||||
jnorm *= invJnorm;
|
jnorm *= invJnorm;
|
||||||
@ -234,7 +236,7 @@ static CvStatus icvPOSIT( CvPOSITObject *pObject, CvPoint2D32f *imagePoints,
|
|||||||
converged = ((criteria.type & CV_TERMCRIT_EPS) && (diff < criteria.epsilon));
|
converged = ((criteria.type & CV_TERMCRIT_EPS) && (diff < criteria.epsilon));
|
||||||
converged |= ((criteria.type & CV_TERMCRIT_ITER) && (count == criteria.max_iter));
|
converged |= ((criteria.type & CV_TERMCRIT_ITER) && (count == criteria.max_iter));
|
||||||
}
|
}
|
||||||
invScale = 1 / scale;
|
const float invScale = 1 / scale;
|
||||||
translation[0] = imagePoints[0].x * invScale;
|
translation[0] = imagePoints[0].x * invScale;
|
||||||
translation[1] = imagePoints[0].y * invScale;
|
translation[1] = imagePoints[0].y * invScale;
|
||||||
translation[2] = 1 / inv_Z;
|
translation[2] = 1 / inv_Z;
|
||||||
@ -266,8 +268,6 @@ static CvStatus icvReleasePOSITObject( CvPOSITObject ** ppObject )
|
|||||||
void
|
void
|
||||||
icvPseudoInverse3D( float *a, float *b, int n, int method )
|
icvPseudoInverse3D( float *a, float *b, int n, int method )
|
||||||
{
|
{
|
||||||
int k;
|
|
||||||
|
|
||||||
if( method == 0 )
|
if( method == 0 )
|
||||||
{
|
{
|
||||||
float ata00 = 0;
|
float ata00 = 0;
|
||||||
@ -276,8 +276,8 @@ icvPseudoInverse3D( float *a, float *b, int n, int method )
|
|||||||
float ata01 = 0;
|
float ata01 = 0;
|
||||||
float ata02 = 0;
|
float ata02 = 0;
|
||||||
float ata12 = 0;
|
float ata12 = 0;
|
||||||
float det = 0;
|
|
||||||
|
|
||||||
|
int k;
|
||||||
/* compute matrix ata = transpose(a) * a */
|
/* compute matrix ata = transpose(a) * a */
|
||||||
for( k = 0; k < n; k++ )
|
for( k = 0; k < n; k++ )
|
||||||
{
|
{
|
||||||
@ -295,7 +295,6 @@ icvPseudoInverse3D( float *a, float *b, int n, int method )
|
|||||||
}
|
}
|
||||||
/* inverse matrix ata */
|
/* inverse matrix ata */
|
||||||
{
|
{
|
||||||
float inv_det;
|
|
||||||
float p00 = ata11 * ata22 - ata12 * ata12;
|
float p00 = ata11 * ata22 - ata12 * ata12;
|
||||||
float p01 = -(ata01 * ata22 - ata12 * ata02);
|
float p01 = -(ata01 * ata22 - ata12 * ata02);
|
||||||
float p02 = ata12 * ata01 - ata11 * ata02;
|
float p02 = ata12 * ata01 - ata11 * ata02;
|
||||||
@ -304,11 +303,12 @@ icvPseudoInverse3D( float *a, float *b, int n, int method )
|
|||||||
float p12 = -(ata00 * ata12 - ata01 * ata02);
|
float p12 = -(ata00 * ata12 - ata01 * ata02);
|
||||||
float p22 = ata00 * ata11 - ata01 * ata01;
|
float p22 = ata00 * ata11 - ata01 * ata01;
|
||||||
|
|
||||||
|
float det = 0;
|
||||||
det += ata00 * p00;
|
det += ata00 * p00;
|
||||||
det += ata01 * p01;
|
det += ata01 * p01;
|
||||||
det += ata02 * p02;
|
det += ata02 * p02;
|
||||||
|
|
||||||
inv_det = 1 / det;
|
const float inv_det = 1 / det;
|
||||||
|
|
||||||
/* compute resultant matrix */
|
/* compute resultant matrix */
|
||||||
for( k = 0; k < n; k++ )
|
for( k = 0; k < n; k++ )
|
||||||
|
Loading…
x
Reference in New Issue
Block a user