Attualmente mi sto immergendo in Wavelet e sono un po 'confuso su certe cose.Trasformata Wavelet discreta LeGal 5/3 con sollevamento (valori negativi, visualizzazione, confusione LH HL)
Prima di tutto, questo NON è compito. È solo per la codifica ricreativa.
Per ottenere una migliore comprensione, ho implementato lo schema di sollevamento per l'wavelet LeGal 5/3 in C. Per quanto posso vedere, sembra funzionare. Posso invertire e le immagini originali sono riprodotte correttamente. In pseudo-codice, il mio dwt avanti assomiglia a questo:
// deinterleave splits the low band from the high band
// (e.g. 1 0 3 0 6 0 8 1 11 becomes 1 3 6 8 11 | 0 0 0 1)
for each row in image:
dwt1d(row)
deinterleave(row)
for each col in image:
dwt1d(col)
deinterleave(col)
Ma io lotta con un paio di cose.
Quando si applica il dwt, torno la mia immagine trasformata, ma i valori sono fuori range [0 - 255]. Pertanto li conservo in pantaloncini. Alcuni sono negativi e alcuni sono molto grandi. Ora come posso visualizzarli al fine di ottenere quelle immagini dall'aspetto gradevole come mostrato qui: (http://www.whydomath.org/node/wavlets/images/Largetoplevelwt.gif)? Se mostro la mia immagine in Matlab con imshow (immagine, []), il mio risultato è il seguente: http://i.imgur.com/dNaYwEE.jpg. Quindi, devo fare qualche trasformazione nelle mie sottobande? Se sì, qualcuno può indicarmi una soluzione o dirmi cosa fare?
In letteratura, vedo a volte che le sottobande sono ordinate in questo modo: [LL LH; HL HH] ea volte così: [LL HL; LH HH]. Quest'ultimo, vedo soprattutto quando il documento parla di JPEG2000 ed è anche ciò che produce il mio algoritmo. In Matlab tuttavia, quando si utilizza la funzione lwt2, restituisce il layout precedente. Lo vedo anche quando paragono il mio output con l'output di Matlab. Sembra che LH e HL siano confusi. Come può essere? Importa? Deve fare qualcosa con l'uso del sollevamento invece della convoluzione?
Ha importanza se si eseguono prima le righe e poi le colonne o viceversa? Non vedo differenze nella mia produzione quando cambio l'ordine. L'unica cosa che sarebbe diversa è che LH diventa HL e HL diventa LH. Tuttavia, questo non risolve la mia seconda domanda perché l'output è lo stesso. È solo notazionale, immagino. Quindi importa? Ho visto documenti in cui fanno il col-row e altri dove fanno row-col. Entrambi rispetto a JPEG2000.
Grazie mille. Se qualcuno potesse far luce sui miei problemi, sarei molto grato.
Cordiali saluti, Markus
Posso vedere alcuni problemi con questa domanda. *** 1 ***. Hai messo tre domande in una. Dividili invece in domande separate. *** 2 ***. Non fornisci [mcve] (http://stackoverflow.com/help/mcve). È molto difficile rispondere alle tue domande, a meno che tu non lo faccia. *** 3 ***. Le vostre domande potrebbero essere viste come correlate alla teoria delle wavelet e alcuni potrebbero (non sto dicendo che lo siano, ma alcuni potrebbero) pensare che appartengano altrove. Affrontarli probabilmente ti aiuterà più di una taglia. – kkuilla
Per quanto riguarda il punto 3: dove penseresti sarebbe questo? –
Non ne sono sicuro, ho paura. L'ultimo punto probabilmente diventerebbe irrilevante se avessi indirizzato 1 e 2. – kkuilla