I N I Z I O T O P I C |
Maestrale |
Posted - 19/05/2015 : 16:30:53 Ciao a tutti,
vengo a scocciarvi per un argomento decisamente di nicchia oggi, ma gli amici sticciatori probabilmente potranno darmi qualche delucidazione.
Ormai da tempo noto con un certo fastidio una resa un po' "morbida" nelle panoramiche esportate in versione sferica interattiva, se osservate al 100% e quindi con lo zoom a fine corsa (ingrandimento reale: 1.0). Questo sia per la versione flash, sia per quella html5. Paragonata alla sua equirettangolare (che mostra lo stesso dettaglio al centro degli scatti rettilineari di partenza) una sferica esportata sembra mostrare una certa dose di sfocatura.
Oggi ho fatto un test più approfondito con una lente rettilineare su sensore 1/2.3", dove lo scadimento tra l'equirettangolare e la relativa esportazione KRPano mi sembrava particolarmente pronunciato, e in effetti la differenza è palese. Mi direte che in situazioni tipiche basta fermare lo zoom massimo a 0.85-0.90 per migliorare la definizione percepita, ma è un vero peccato perdere quel bonus di zoom e risoluzione che il sistema di ripresa ci offre, soprattutto quando è già poca e per qualche motivo si è limitati a quella…
Ho reale necessità di spremere il massimo dettaglio possibile, che l'equirettangolare offre già, e vorrei capire dove si origina il problema del decadimento di definizione dopo l'esportazione multires di KRPano.
Vi allego qui di seguito un crop della versione interattiva con zoom a fine corsa (in background), dell' equirettangolare di partenza e della tiles centrale generata da KRPano (livello 4), che pare certamente più morbida dell'equirettangolare ma comunque più definita della visione interattiva.
Probabilmente inorridirete per il moiré, ma non è correggere quello che m'interessa ora. Anzi, è proprio lì che si nota maggiormente il calo di dettaglio.
Per caso sapete se nella conversione c'è lo zampino di una qualche impostazione nascosta da Klaus nei meandri del codice? ho dato un'occhiata al file multires.config di KRPano 1.18.1 ma non trovo niente di rilevante… Noto però che il Terminale, durante la creazione delle tiles, mi indica una discrepanza fra la dimensione delle facce del cubo e quella del layer più grande:
(converted cube, size=4622x4622) - output: html, swf, xml, preview, tiles - multires: tilesize=512 levels=4 - 4608x4608 2304x2304 1152x1152 576x576
Le tiles ne risentono abbastanza (si nota un certo "ingrandimento" del disturbo) ma un ulteriore calo di definizione si presenta anche nell'interattiva.
Vi ho già annoiato abbastanza…
Dritte?
Claudio
|
7 U L T I M E R I S P O S T E (Le più recenti in alto) |
Maestrale |
Posted - 21/05/2015 : 11:58:01 La versione html5 non beneficia dell'highsharp di flash9, quindi devo trovare un'altra strada.
Il mipmapping riduce l'aliasing (e lo fa alla grande), ma con esso anche la percezione di definizione apparente.
E stranamente, a differenza di miei precedenti test di alcuni mesi fa, non ritrovo più i benefici dell'agire sull'impostazione multiresthreshold (cioè stabilire quando una tile dev'essere sostituita da una del layer successivo): a 0.0 o ad 1.0 non cambia nulla. Lavorare su questo mi serviva per recuperare incisione anche agli angoli, boh?
Mi tocca studiare ancora, tornerò quando avrò le idee più chiare…
Claudio
|
Maestrale |
Posted - 21/05/2015 : 01:43:19 Citazione: Postato da tonesh
Anche se mi pare abbastanza da nerds l'uso di kmaketiles, le fai delle prove cambiando parametri in "basicsettings.config" e con kmaketiles? E ci fai sapere i risultati?
Ho scelto un'altra strada Toni: flash10 off, multiresthreshold 0.20 (ma dipende dalla dimensione delle cubefaces), details 40 e impostazione highsharp per la pano da ferma... A questo punto ottengo addirittura un leggero oversharpening, che immagino mi consentirà di "ammorbidire" la definizione già nello stitch, così da contenere un po' il peso delle tiles (meno dettagli = meno peso in jpeg). Però ho fatto le prove su di un'immagine totalmente diversa, non la stessa che ho postato qui...
In linea di massima, la resa del flash10 non mi piace: troppa definizione al centro e poca ai bordi. Meglio flash9, che beneficia del mipmapping quando le tiles nei vari layers sono ridimensionate con fattore 2.0. In sostanza, per ogni tile viene scelto il layer più opportuno tramite l'impostazione del parametro multireshold, così da non avere strani oversharpening localizzati. Per mostrarvi i risultati dovrò trovare il tempo di fare un upload, vedo se riesco domani ma non prometto niente...
Scusami se scrivo un po' a memoria e senza postare link di riferimento ma ora non ho sottomano gli appunti e il sonno avanza.
Claudio
|
tonesh |
Posted - 20/05/2015 : 17:28:55 Anche se mi pare abbastanza da nerds l'uso di kmaketiles, le fai delle prove cambiando parametri in "basicsettings.config" e con kmaketiles? E ci fai sapere i risultati? Grazie
Toni
|
Maestrale |
Posted - 20/05/2015 : 13:06:16 Grazie Toni,
lo leggerò con attenzione!
Anche qui ci sono impostazioni che probabilmente vanno studiate attentamente, vedo citati vari filtri d'interpolazione (Lanczos, Mitchell etc)…
E qui invece c'è una vecchia discussione dove risponde Klaus proprio sull'argomento interpolazione delle cubefaces, ma penso si possa ritenere ormai superata...
Claudio
|
tonesh |
Posted - 20/05/2015 : 08:36:30 Claudio, krpano funziona con tiles convertite in jpg. Nelle impostazioni c'è la possibilità di settare la qualità delle jpg, che per default non è al 100% ed anche il JPEG Chroma subsampling. Dove settare? nel file "basicsettings.config" . Come saperne di più? qua: http://krpano.com/tools/kmakemultires/config/?version=118
Prova, magari c'è anche altro da fare...
Toni
|
Maestrale |
Posted - 19/05/2015 : 18:22:49 Aggiornamento
Questa stringa del Terminale mi ha messo la pulce nell'orecchio:
(converted cube, size=4622x4622) - output: html, swf, xml, preview, tiles - multires: tilesize=512 levels=4 - 4608x4608 2304x2304 1152x1152 576x576
Mi sono accorto che nell'esportazione multires la dimensione dell'equirettangolare ha la sua importanza, quindi è bene dimensionare correttamente la stesa già in uscita da PTGui. Mi ritorna ora in mente un prezioso consiglio fornitomi anni fa dal nostro ziouga, che all'epoca valeva per le facce del cubo principali, ma che scopro valere altrettanto per quelle dei layers multires inferiori: vanno usati sempre numeri pari!
Ho quindi calcolato la dimensione della stesa a partire dalle tiles del livello più piccolo, in modo da ottimizzarne il ricampionamento. La dimensione suggerita dal file config.multires, cioè (576x576) è conservativa, mentre la dimensione pari 578x578px genera una equirettangolare col lato minore dispari (578 x 8 x 3,1415 = 14526x7263px). La dimensione della più piccola cubeface a 580px invece genera un risultato pari anche per il lato minore della stesa.
Insomma per concludere, uno stitch come quello che avevo generato senza far caso ai numeri (14520x7260px) risulta sfocato se visto al 100%, mentre uno "ottimizzato" (14576x7288px) mostra una migliore definizione, con lo zoom della pano a fine corsa:
Metà del problema si risolve così, e ad occhio e croce l'altra metà potrebbe dipendere dall'algoritmo di ricampionamento troppo "soft" utilizzato per generare le cubefaces, ma lì non saprei proprio dove mettere le mani…
Claudio
|
Maestrale |
Posted - 19/05/2015 : 17:15:19 Forse qui l'effetto è più chiaro:
Claudio
|
|
|