2011-01-27 9 views
11

Quale sarebbe l'approccio migliore per rilevare e rimuovere i capelli di una persona in una semplice immagine di ritratto? Qualche utile libreria di algoritmi? Sono stato a guardare oltre OpenCV che sembra che potrebbe essere di qualche utilitàRilevare i capelli in un'immagine ritratto?

+0

hai trovato una soluzione a questo ancora? – nithinreddy

+0

hai trovato una soluzione a questo ancora? – Suisse

risposta

11

Hai a che fare con due diversi problemi qui:

  1. rilevazione se un volto in un ritratto ha i capelli
  2. "rimozione" i capelli

il primo è risolvibile abbastanza facilmente:

  • indipendente il viso dal backgro und (come hai detto una "semplice immagine di ritratto", questo non dovrebbe essere troppo difficile).
  • convertire l'immagine nello spazio colore Y'CbCr
  • La pelle umana ha un range abbastanza ristretto di valori di crominanza, indipendentemente dalla razza. Controlla this paper per i dettagli.
  • L'approccio sopra riportato ti aiuterà a separare le aree della pelle del viso dalle aree non cutanee
  • Assumendo che le aree non cutanee siano costituite da capelli. Si noti che i peli del viso vengono raccolti anche come area non a pelle.

Per quanto riguarda il secondo problema va, è necessario chiarire esattamente cosa si intende per "rimozione":

  • siete semplicemente tagliando la parte del ritratto che ha i capelli? In questo caso, la soluzione segue direttamente dal metodo di rilevamento di cui sopra.
  • Stai cercando di far sembrare che la persona non abbia i capelli (ad es. È calva, ben rasata?) In questo caso, le cose saranno molto più difficili - c'è un motivo per cui i fotoritri professionisti vengono pagati bene .
+1

Ciao, quando dici capelli separati. Qualche idea su come questo può essere eseguito usando Open CV? – user281300

Problemi correlati