Bonjour,
Je travaille actuellement sur un gaze tracking.
Tout d'abord je souhaite tracker la pupille.
J'ai trouvé un code source intéressant ( [ame="http://www.youtube.com/watch?v=aGmGyFLQAFM"]Accurate eye center localisation for low-cost eye tracking - YouTube[/ame] ). J'essqie donc de mettre en pratique ce code en utilisant opencv et visual studio 2010. Cependqnt je n'aarive pas à résoudre une erreur concernant la racine carré d'un membre d'une matrice.
Voici la fonction:
En cherchant sur internet j'ai remarqué que cette fonction est souvent reproduite lors du eye tracking.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 double computeDynamicThreshold(const cv::Mat &mat, double stdDevFactor) { cv::Scalar stdMagnGrad, meanMagnGrad; cv::meanStdDev(mat, meanMagnGrad, stdMagnGrad); double stdDev = stdMagnGrad[0] / sqrt(mat.rows*mat.cols); return stdDevFactor * stdDev + meanMagnGrad[0]; }
Mon problème est que faire le calcul de la racine carré "sqrt" semble compliqué pour Visual Studio. Ainsi le message d'erreur suivant est renvoyé:
Visual Studio me suggère de remplacer par
Code : Sélectionner tout - Visualiser dans une fenêtre à part error C2668: 'sqrt' : ambiguous call to overloaded functionou
Code : Sélectionner tout - Visualiser dans une fenêtre à part long double sqrtou encore
Code : Sélectionner tout - Visualiser dans une fenêtre à part double sqrt
.
Code : Sélectionner tout - Visualiser dans une fenêtre à part float sqrt
Je ne vois pas comment réparer ou remplacer la fonction sqrt.
Quelqu'un aurait-il une solution svp?
Cordialement.
Kévin LELU
Partager