Преобразование недецимируемого вейвлета на изображении с использованием Matlab

Я новичок в Matlab, и я пытаюсь использовать набор инструментов вейвлета в Matlab. Я надеюсь использовать недецимируемое вейвлет-преобразование на входном изображении для создания серии изображений. Но мне интересно, как я могу получить результат вейвлет-преобразования каждого уровня?

Функция, которую я использовал в программе,

WTSource = ndwt2(Source, n, 'db1');

Где Источник — входное изображение, n — уровни преобразования, а «db1» или преобразование Хаара используется для создания изображений.

Я думал, что WTSource.dec — это результирующие изображения, но обнаружил, что размер элементов в WTSource.dec отличается от входного изображения. И по мере увеличения n изображения становились больше. Итак, мне интересно, как мне получить изображения результатов преобразования для дальнейшего использования?


person Timothy    schedule 04.04.2013    source источник


Ответы (1)


Если вы посмотрите документацию
http://www.mathworks.nl/help/wavelet/ref/ndwt2.html
после вашей команды:

 WTSource= ndwt2(Source,n,'db1');

вывод WTSource представляет собой запись с полем dec, которое содержит все эти поля.

dec{ 1 } уровень приближения n
dec{2 : 4} уровень детализации n-1 (каналы LH, HL, HH)
dec{5 : 7} уровень детализации n-2 (каналы LH, HL, HH )
...
dec{3n-1 : 3n+1}уровень детализации 1 (каналы LH, HL, HH)

Каждый элемент dec имеет тот же размер, что и ваше входное изображение.

См. также:
http://www.mathworks.nl/products/wavelet/examples.html?file=/products/demos/shipping/wavelet/ndwtdemo.html

person alle_meije    schedule 10.04.2013
comment
Спасибо за помощь мне. Тем не менее, я все же обнаружил, что размеры разные. Например, в предоставленной вами демонстрации «Многоуровневая одномерная недецимированная вейвлетная декомпозиция» мы видим, что в структуре WT элемент «longs» равен [984 984 983 982 981 980 979]. Когда изображения обрабатываются как входные данные, размеры также различаются. Я все еще думаю об этом. - person Timothy; 11.04.2013
comment
это связано с режимом расширения (см. mathworks.nl/help/wavelet/ ref/ndwt.html, который затем указывает на mathworks.nl/help /wavelet/ref/dwtmode.html). Когда вы используете вейвлет db1/Хаара, сигнал должен расширяться только на 1 точку/уровень. - person alle_meije; 22.04.2013
comment
Большое спасибо за помощь мне, и теперь я знаю, что происходит сейчас. - person Timothy; 23.04.2013