Samouczek na temat falek drugiej generacji (z podnoszeniem)?

10

W przypadku niektórych eksperymentów odszumiania i dekonwolucji chciałbym zastosować transformację falkową drugiej generacji (używając kroków podnoszenia ) do obrazów.

Wiem, że dostępnych jest kilka implementacji, ale większość z nich korzysta z Matlaba, a ja chcę pracować w C ++ z OpenCV . Ponieważ w OpenCV 2.x nie ma wbudowanej implementacji transformacji falkowej, planuję ją zaimplementować osobiście (plus, będzie to dla mnie dobre ćwiczenie). Po kilku badaniach udało mi się znaleźć oryginalne artykuły na temat transformacji 2. generacji, ale nadal jestem nieco zdezorientowany co do dokładnego działania algorytmu.

Biorąc za główny odniesienie artykuł [1] autorstwa Sweldensa: Schemat podnoszenia: konstrukcja falek drugiej generacji , nadal jestem zdezorientowany definicją zbiorów indeksów : jaki jest ich rozmiar? jak są zbudowane? ...K.(jot)

Stąd moje pytanie: czy ktoś wie o niektórych zasobach dotyczących transformacji falkowej drugiej generacji (dokumenty, samouczki, slajdy ...), które są w formie samouczka lub zapewniają bardziej algorytmiczny widok (a nie matematyczny) , co pomogłoby mi zaprojektować własną implementację?

Z góry dziękuję.

Bibliografia

Moje główne odniesienie to:

[1] Sweldens, W. (1998). Schemat podnoszenia: Konstrukcja falek drugiej generacji. SIAM Journal on Mathematical Analysis, 29 (2), 511.

Uczę się także od:

[2] Daubechies, I., i Sweldens, W. (1998). Falking faktoringowy przekształca się w etapy podnoszenia. Journal of Fourier analiza i zastosowania, 4 (3), 247–269.

[3] Kovacevic, J., i Sweldens, W. (2000). Rodziny falkowe o rosnącym porządku w dowolnych wymiarach. Przetwarzanie obrazu, 9 (3), 480–496. doi: 10.1109 / 83.826784

sansuiso
źródło
Prawdopodobnie pomogłoby to, jeśli połączysz się z oryginalnymi artykułami i wyjaśnisz, dlaczego się nimi mylicie. Mówisz też, że istnieje wiele implementacji matlab (języka skryptowego), które możesz przeczytać, aby dowiedzieć się, jak działa algorytm.
bjoernz
Istnieją już biblioteki falkowe C ++ . Jeśli zamierzasz zakodować coś do ćwiczeń, dlaczego nie wybierzesz jednej z nowszych transformacji wieloskalowych, takich jak belki, grzbiety lub krzywizny, aby społeczność mogła skorzystać?
Emre
@Emre: Jak powiedziano wcześniej, OpenCV nie obejmuje transformacji falkowej i nie różdżki, aby dodać zależności. Mimo to sprawdzę kod Blitzwave, aby zobaczyć, jak się sprawy mają. Na razie potrzebuję tylko drugiej generacji. falki, ale nowsze narzędzia (zaczynające się od tasiemek) są opcją do późniejszej pracy.
sansuiso
@ bjoernz: Dodałem precyzyjne pytanie dotyczące małej części artykułu Sweldensa, które mnie dezorientuje.
sansuiso
Czy możesz odnieść się do artykułów / książek, z których się uczysz?
Spacey

Odpowiedzi:

2

W końcu kupiłem egzemplarz [Ripples in Mathematics The Discrete Wavelet Transform] [1] i jestem bardzo zadowolony z tej książki. Autorzy wyjaśniają DWT na przemian z punktami widzenia (schematy podnoszenia, podejście banków filtrów, analiza wielu rozdzielczości), gdzie każdy z tych punktów widzenia ma swoje zalety. Ponadto książka jest zorientowana na implementację, z rozdziałami na temat obsługi granic i implementacjami matlab / C.

Wciąż szukam właściwego sposobu na obsługę sygnałów o dziwnych rozmiarach, ale Ripples dał mi dobry start.

[1]: http://www.control.auc.dk/~alc/ripples.html „Ripples in Mathematics The Discrete Wavelet Transform”, Arne Jensen i Anders la Cour-Harbo

sansuiso
źródło