MISE À JOUR: here est un exemple opencv C++ et montre exactement ce que je veux faire. La seule chose est que j'en ai besoin avec Java.Détecter le visage et appliquer un masque dessus avec openCV
Je travaille sur une application Android en temps réel qui détecte le visage avec la caméra frontale et ajoute un masque sur un visage détecté. Jusqu'à présent, la détection des visages fonctionne bien avec le classificateur en cascade.
Je dessine des rectangles autour du visage et des cercles pour les yeux:
Rect[] facesArray = faces.toArray();
for (int i = 0; i < facesArray.length; i++)
{
Imgproc.rectangle(mRgba, facesArray[i].tl(), facesArray[i].br(), FACE_RECT_COLOR, 3);
xCenter = (facesArray[i].x + facesArray[i].width + facesArray[i].x)/2;
yCenter = (facesArray[i].y + facesArray[i].y + facesArray[i].height)/2;
Point center = new Point(xCenter, yCenter);
Imgproc.circle(mRgba, center, 10, new Scalar(255, 0, 0, 255), 3);
}
Ma question est, comment appliquer une image sur le visage détecté et montrer en temps réel. (par exemple lunettes de soleil, chapeau, moustache, et une drôle de tête d'animal)
Si quelqu'un pourrait donner un pourboire ou me dire quelques points clés, je serais tellement reconnaissant.
This est un bon exemple de ce que j'attend de mon application. J'ai examiné le code mais je ne pouvais pas comprendre.
Merci!
Voulez-vous « appliquer » une image sur l'image capturée ou sur la face en temps réel? –
Cette [réponse] (https://stackoverflow.com/a/43964740/5799975) peut vous aider à démarrer (code C++). –
Je veux appliquer une image sur le visage en temps réel comme les effets snapchat. @RickM. – wlrs