2017-05-06 4 views
0

Comment puis-je obtenir un seul suivi de visage sur le cadre?
Maintenant, je peux détecter et suivre le visage en utilisant Haar déjà.Face Tracking OpenCV

Mais si le cadre a plusieurs faces. Le programme va suivre toutes les faces mais je veux qu'il ne détecte qu'une seule face.

ce post suggère d'utiliser camshift puis filtre kalman.

Est-ce qu'il avait une autre façon de le faire?

Merci et désolé pour l'anglais confus.

Répondre

0

Après avoir appliqué le classificateur Cascade MULTIBALANCE, comme suit:

...  
MatOfRect faces = new MatOfRect(); 
mJavaDetector.detectMultiScale(imagem_gray, faces, 1.1, 2, 2, new Size(mAbsoluteFaceSize, mAbsoluteFaceSize), new Size()); 

Et puis ...

Rect[] facesArray = faces.toArray(); 
if (facesArray.length > 0) //... do whatever you want 

Vous pouvez donc accéder à chaque face individuellement. Ex, facesArray[0], vous avez le Rect en rapport avec le visage 0

+0

Est-ce que le visage 0 est le plus grand visage ?. Ou c'est le premier apparaître dans le cadre. –

+0

Le premier. Chaque élément de facesArray (Rect!), A une taille. Si vous voulez le plus grand visage, vous pouvez le commander par sa taille. – raullalves