2010-01-14 8 views
8

Ho molte immagini tratte da una fotocamera 360 che vorrei poter visualizzare in Silverlight 3. NON sono immagini panoramiche regolari. La fotocamera che ha scattato l'immagine crea effettivamente un jpeg distorto che diventa non distorto una volta avvolto attorno a una sfera come una trama. Ho un software desktop che consentirà la visualizzazione dell'immagine (non solo da lato a lato, ma verso l'alto, verso il basso, ecc.) E ho bisogno di provare a ottenere la stessa funzionalità in Silverlight. È molto simile a Google StreetView.Mostra l'immagine 360 ​​in Silverlight 3.0 (Not Panorama)

Quello che penso di cui ho bisogno è creare una sfera, avvolgere il jpeg sulla sfera come una trama, quindi inserire la "camera" all'interno della sfera. Dubito che sia possibile in Silverlight, ma forse c'è un modo per simularlo?

Finora, le ricerche di Google non stanno portando nulla. Qualcuno può indicarmi la giusta direzione per capire come farlo? Ci sono progetti esistenti che fanno questo?

Un esempio di una tipica immagine è here.

+0

Non ci sarà una soluzione "pronta" per farlo in Silverlight (a meno che qualcuno lo abbia già fatto e abbia condiviso il codice da qualche parte che probabilmente non è il caso). Vorrei esaminare l'uso di pixel shader per eseguire la distorsione dell'immagine. – KeithMahoney

+0

I pixel shader sarebbero perfetti, ma sembra che funzionino solo su immagini fisse in Silverlight. Se la mia comprensione è corretta, non sarebbe possibile spostare la fotocamera con pixel shader. – Phil

risposta

1

Questi forza dare una mano (probabilmente non). Sono motori 3d per Silverlight, ma probabilmente avvolgeranno l'immagine all'esterno della sfera anziché all'interno, il che probabilmente è ciò di cui hai bisogno.

Kit3Dhttp://www.codeplex.com/Kit3D

Balderhttp://www.codeplex.com/Balder

Un'altra opzione forse più promettente, sarebbe quella di utilizzare javascript. Finora hai probabilmente studiato come farlo in Silverlight, ma potresti fare qualche ricerca simile usando javascript per questo. Potrebbe esserci già un'opzione, e dato che Silverlight può interagire con Javascript, potresti essere fortunato.

0

Si potrebbe voler provare a ritagliare una finestra dall'immagine e visualizzarla. se l'utente vuole andare a destra, sposta la finestra verso destra e ritaglia. se l'utente vuole andare a sinistra, sposta la finestra a sinistra e ritaglia. per ridurre, espandere la finestra, per ingrandire rendere la finestra più piccola. se si sposta il riquadro all'estrema destra, quindi cucire i dati dell'immagine dal lato sinistro.

Potrebbe essere necessario modificare l'immagine per eliminare la distorsione, questo non dovrebbe essere troppo difficile e dipende dalla lunghezza focale dell'obiettivo della fotocamera.

Non provare a mappare l'immagine a una sfera, è molto più difficile.

+0

In realtà la modifica dell'immagine sembra piuttosto difficile, a meno che non si conosca un modo semplice per farlo. Questa immagine è stata effettivamente generata da diverse fotocamere cucite insieme. – Phil

+0

Non è necessario ritagliare ma copiare una finestra da un'immagine ad un'altra sorgente di immagine. Pensa ad avere una piccola cornice con la tua immagine come sfondo. Tutto quello che devi fare è spostare lo sfondo in una direzione desiderata. – Gilad

1

Dovrai mappare il texture a sphere quindi, come hai detto tu. Ma afaik silverlight 3 non supporta l'hardware 3d accelerato.

Quindi le opzioni sono:

Spero che questo aiuti

0

A https://hdviewsl.codeplex.com dice che HD View SL (versione Silverlight) supporta l'ortografia "(2D), con lo spostamento di panorami a 360 gradi"

Inoltre si potrebbe provare a porta di codice sorgente PTViewer a Silverlight da Java se nessun altro ha

UPDATE: VRLight potrebbe essere la soluzione nel tuo caso: http://vrlight.thecloudsite.net/ http://vrlight.thecloudsite.net/tutorial.html http://ivrpa.org/blog/3651/vrlight_vredit_20

il suo autore (Jurgen Eidt) sta anche facendo cPicture (http://cpicture.thecloudsite.net/index.en.html), se non lo può trovare dal sito VRLight, provate dal cPicture uno, o provare dal suo blog sul sito IVRPA (http://ivrpa.org/blog/3651), che sembra avere post recenti

+0

Questo è abbastanza vicino, ma non proprio quello che sto cercando. Le mie immagini a 360 ° non sono normali immagini panoramiche, ma ti permettono anche di guardare dritto verso l'alto. [Immagine campione] (http://img211.imageshack.us/img211/5640/113014255138.jpg). – Phil

+0

Hai provato l'URL dell'immagine con http://research.microsoft.com/en-us/um/redmond/groups/ivm/HDView/Preview/ (seleziona la scheda SL Vista HD)? Ho provato il tuo URL lì, ma la seconda scheda non sembra essere attivata con quella. Forse dovresti provare i link dal lato che usano i file .xml e creare anche tu un file xml (magari basato sugli esempi Zoomify, non sono sicuro) per provare –