本文整理汇总了C++中vpColVector::sumSquare方法的典型用法代码示例。如果您正苦于以下问题:C++ vpColVector::sumSquare方法的具体用法?C++ vpColVector::sumSquare怎么用?C++ vpColVector::sumSquare使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类vpColVector
的用法示例。
在下文中一共展示了vpColVector::sumSquare方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: calculSolutionDementhon
static
void calculSolutionDementhon(double xi0, double yi0,
vpColVector &I, vpColVector &J,
vpHomogeneousMatrix &cMo )
{
#if (DEBUG_LEVEL1)
std::cout << "begin (Dementhon.cc)CalculSolutionDementhon() " << std::endl;
#endif
double normI, normJ, normk, Z0;
vpColVector k(3);
// normalisation de I et J
normI = sqrt(I.sumSquare()) ;
normJ = sqrt(J.sumSquare()) ;
I/=normI;
J/=normJ;
k = vpColVector::cross(I,J) ; // k = I^I
Z0=2.0/(normI+normJ);
normk = sqrt(k.sumSquare()) ;
k /= normk ;
J = vpColVector::cross(k,I) ;
//calcul de la matrice de passage
cMo[0][0]=I[0];
cMo[0][1]=I[1];
cMo[0][2]=I[2];
cMo[0][3]=xi0*Z0;
cMo[1][0]=J[0];
cMo[1][1]=J[1];
cMo[1][2]=J[2];
cMo[1][3]=yi0*Z0;
cMo[2][0]=k[0];
cMo[2][1]=k[1];
cMo[2][2]=k[2];
cMo[2][3]=Z0;
#if (DEBUG_LEVEL1)
std::cout << "end (Dementhon.cc)CalculSolutionDementhon() " << std::endl;
#endif
}
示例2: vpTrackingException
void
vpMbKltTracker::computeVVSCheckLevenbergMarquardtKlt(const unsigned int iter, const unsigned int nbInfos,
const vpHomogeneousMatrix &cMoPrev, const vpColVector &error_prev, const vpHomogeneousMatrix &ctTc0_Prev,
double &mu, bool &reStartFromLastIncrement) {
if(iter != 0 && m_optimizationMethod == vpMbTracker::LEVENBERG_MARQUARDT_OPT){
if(m_error.sumSquare()/(double)(2*nbInfos) > error_prev.sumSquare()/(double)(2*nbInfos)){
mu *= 10.0;
if(mu > 1.0)
throw vpTrackingException(vpTrackingException::fatalError, "Optimization diverged");
cMo = cMoPrev;
m_error = error_prev;
ctTc0 = ctTc0_Prev;
reStartFromLastIncrement = true;
}
}
}