2011-11-27 7 views
7

Sto lavorando a un piccolo progetto che richiede: Cambiare vestiti (camicia/pantaloni, ecc.) Di una persona in qualsiasi immagine 2D che sceglie di caricare. Quindi, in qualche modo, i bordi devono essere rilevati e le aree rilevanti dovrebbero essere riempite con nuovi modelli. Vedo molte altre complicazioni, ma supponiamo che i modelli semplici debbano essere riempiti solo.Come simulare i cambi di vestiti nell'immagine 2D?

  1. Per un'applicazione Web, è possibile farlo in HTML5? Qualche altra alternativa?

  2. Per un'applicazione standalone, quale tipo di tecnologia sarebbe preferibile, C++/Java?

Aggiornamento

Basato sul commento di Bart:

  1. Qualsiasi puntatore utili come Bart sarebbe veramente utile
  2. Assunzione: Cancella tracciabile 'in piedi' figura umana 2d immagine
  3. in
  4. Poiché è un'immagine, non esiste uno scenario in tempo reale
+19

Anche se mi piacerebbe darti una risposta completa, la domanda che stai ponendo al momento è IMHO quella sbagliata. L'argomento che stai cercando di affrontare è molto difficile (ho detto molto?). Ad esempio, potresti cercare il lavoro di Fraunhofer HHI sul loro "specchio virtuale". HTML5, C++ o Java sono l'ultima delle tue preoccupazioni. Ti consiglio di esaminare prima il lavoro precedente per avere un'idea chiara dei componenti necessari e di come le loro (e altre) soluzioni funzionanti fanno il loro lavoro. Sento che dovresti essere in grado di fare una domanda più mirata. Ci dispiace, ma spero che aiuti. – Bart

+1

Sulla base dei tuoi aggiornamenti: potresti adottare un approccio simile a quello di Zugara (e ne ho visti anche altri). Invece di tracciare qualsiasi cosa, devi semplicemente forzare l'utente a "adattarsi" all'interno di una determinata regione. Quindi sovrapponi le tue immagini indumento 2D su quello. Una demo di ciò che intendo (anche se per un esempio dal vivo) può essere trovata [in questo video di youtube] (http://www.youtube.com/watch?v=RYNYGyB2YFw&feature=related). Semplificherebbe notevolmente le cose. – Bart

risposta

5

Assunzione: Cancella tracciabile 'in piedi' figura umana immagine 2d in

Un modo per farlo è quello di richiedere all'utente di scattare due foto. Un'immagine è quella con l'utente in essa, l'altra immagine deve essere scattata nella stessa posizione e orientamento della fotocamera, ma l'utente esce dal frame per quello.

Poiché entrambe le immagini avranno lo stesso sfondo, è possibile confrontare pixel per pixel tra le due immagini e contrassegnare quei pixel che hanno una differenza su una certa soglia. Ovviamente la soglia deve essere selezionata in modo tale che il rumore della telecamera non venga rilevato come differenza. Una volta ottenuta la raccolta di pixel diversi, puoi filtrarli e calcolare una sagoma approssimativa per l'utente dai pixel sul bordo.

Una semplificazione del metodo sopra può essere eseguita se si ha il controllo sullo sfondo. È possibile utilizzare un bluescreen per evitare di dover avere una seconda immagine con lo sfondo.

Problemi correlati