Un chapeau sur ma tête en live !!

Bonjour,


 


Mon titre n'est pas assez explicite c'est pourquoi je vais le détailler ici !!


 


Mon besoin présent est d'ajouter un chapeau (une image donc) au dessus de ma tête (reconnaissance faciale) pendant une prise de photo en direct. Pour finir, je dois pouvoir enregistrer et partager la photo avec mon super chapeau qui sera un panama pour l'occasion.


 


J'en viens donc à  me demander de quelle manière je dois procéder. Je sais que c'est faisable puisque des applications comme celles que je viens de décrire existe mais je ne sais pas comment regrouper l'api de caméra + Core Image pour la détection faciale. 


 


Je suis intéressé donc par la méthode pour réaliser cette tâche, par des librairies ou autres sachant que je bloque sur comment ajouter la reconnaissance du visage sur la caméra en live.


 


 


Mots clés:

Réponses

  • CéroceCéroce Membre, Modérateur
    février 2015 modifié #2

    N'utilise pas Core Image pour la détection de visage; c'est la bonne méthode pour une image fixe, mais pour le faire pendant la capture c'est compliqué.

    Utilise AVFoundation. C'est très similaire à  lire un code QR, sauf que tu vas utiliser AVMetaDataFaceObject.


  • Merci pour tes précieuses indications Céroce.


     


    Je me suis penché sur la doc sur AVFoundation pour réaliser mes besoins et j'ai pu réaliser quelques unes des fonctionnalités.


     


    Je peux à  partir de la caméra placée en front :


    • Détecter le visage
    • Imprimer la photo

    Je regardais depuis comment faire pour insérer un chapeau au dessus de la tête dans la session Vidéo. C'est le point difficile que je rencontre pour le moment car j'ai pu insérer l'image à  l'écran mais elle n'est pas intégrée dans la caméra ce qui a pour conséquence que quand je prends en photo l'instant j'ai ma tête mais pas l'image associée. 


     


    Je suppose que je m'y prends mal. Je récupère le layer de l'image et je l'ajoute au layer du previewVideo AVCaptureVideoPreviewLayer. On voit correctement l'image (pour l'instant je ne m'occupe pas trop de son placement au dessus de la tête). Mais dès que je prends en photo je n'ai plus l'image.


     


    J'utilise la méthode pour capturer.



    captureStillImageAsynchronouslyFromConnection

    Une idée ?


  • CéroceCéroce Membre, Modérateur

    L'aperçu que tu as à  l'écran et la photo prise sont deux choses différentes. Il faut sans doute coller l'image du chapeau sur la photo; utilise Core Graphics pour cela. 


  • Donc en fait je dois nécessairement d'abord prendre la photo et ensuite mixer les deux images ? Ce n'est pas possible d'intégrer l'image du chapeau directement dans la vidéo et en sortir une seule image ?


  • CéroceCéroce Membre, Modérateur

    Il doit être possible de faire une copie d'écran, mais ce n'est pas la panacée.


  • Ok. Je suis sur ta première solution. Je vais essayer de voir comment mixer les deux images pour en former une. Merci pour ton aide !


Connectez-vous ou Inscrivez-vous pour répondre.