2012-10-05 5 views
7

Esiste attualmente una libreria in JavaScript per convertire un flusso video in Canvas in una mesh 3D?Quali sono i punti di partenza appropriati per convertire i video su tela in una mesh 3d

Una situazione di esempio è quella di puntare una cinepresa in una tazza e catturare l'immagine grezza, confrontando i dati precedenti con nuovi dati per generare una struttura del bordo degli oggetti all'interno della vista, convertendoli idealmente nel più semplice insieme di poligoni e visualizzando il poligono/modello calcolato in un secondo elemento di tela.

Ho visto un ottimo lavoro di mrdoob su 3d javascript passando da file oggetto a rendering su tela, ma sto cercando di acquisire dati grezzi e provare a generare una mesh. L'intenzione è di inviare i punti di mesh tra 2 utenti oltre le prese per qualsiasi oggetto attualmente all'interno della vista della telecamera che viene catturato.

Qualsiasi aiuto apprezzato.

+1

OBJ-files già disponga di informazioni vertice in 3D. È piuttosto semplice da mostrare su una tela. Vuoi generare una mesh 3D da un video 2D? Come hai intenzione di ottenere informazioni approfondite/informazioni sull'altro lato dell'oggetto dell'oggetto? - È possibile ottenere i contorni di un oggetto tramite l'elaborazione delle immagini, sebbene ottenga solo informazioni 2D. – Smamatti

+0

Esiste un'interessante applicazione chiamata traccia video che richiede all'utente di inserire le linee che delineano l'oggetto ma non in tempo reale sebbene molto intelligente ai bordi di interpolazione, analogamente ci sono applicazioni per kinect che eseguono il rilevamento dei fronti per il tracciamento dei gesti, quindi penso un'applicazione che può confrontare fotogrammi per discernere i confini e le geometrie nel corso di molti fotogrammi può essere una direzione che potrebbe portarci a coordinate 3D se determinate linee di fuga potrebbero essere rilevate o il movimento di un insieme di punti correlati differisca da un altro. Molto di più da imparare per me in qualsiasi modo – MyStream

risposta

3

E 'piuttosto un problema complesso. La maggior parte degli algoritmi richiede 2 immagini (sistemi di visione stereo) per riconoscere ed elaborare le informazioni 2d in oggetti 3d. Fare questo con una webcam e supportato da Javascript è una bella sfida :)

Fondamentalmente, penso che dovrai combinare alcune tecniche di visione del computer (rilevamento dei bordi, filtro, mappatura da 3d a 2D, ...).

Ecco alcune informazioni che potrebbero essere utili

Una biblioteca di computer vision per Javascript - https://github.com/alex-m/seevee.js/wiki (porti alcune delle funzioni OpenCV ben noti) - può essere utile per ottenere l'immagine webcam, l'elaborazione 3D, ecc

leggero libreria 3D - https://github.com/mrdoob/three.js/

Vedere questo approccio http://www.eng.cam.ac.uk/news/stories/2009/3D_models/

6

Non è una libreria, ma qui è una dimostrazione della tecnica che stai cercando.

Webcam Mesh

+0

Ciao @eighteyes, la mesh della webcam per rompere gli elementi visivi in ​​un concetto di rendering 3d sembra grandiosa. Non riesco a farlo funzionare però. Chrome sta morendo con la versione 22 per accedere ed eseguire l'esempio. Tuttavia, è solo una parte della cattura e non sono sicuro di quale mesh viene creata o quanto bene è mappata a un oggetto 3d utilizzando solo la luminosità dei pixel? Sto anche cercando una soluzione completa, quindi non posso ancora premiare la taglia. Tuttavia, incoraggio le persone a verificarlo! Sembra molto intelligente - grazie! – MyStream

+0

Mentre la ricompensa è stata assegnata qui, la domanda è rimasta completamente senza risposta, quindi è un peccato non è possibile abbinare le risposte con il rimbalzo come la persona che pone la domanda e la risposta sopra non corrisponde effettivamente ai requisiti, ma io continuo a pensare le persone dovrebbero controllarlo per interesse. – MyStream