Поиск
Показаны результаты для тегов 'wavelet'.
-
Wavelet преобразования для изображений (2D)
repstosw опубликовал тема в Алгоритмы ЦОС (DSP)
Сделал 4 ступени вейвлет-преобразований для изображения (по обеим осям). В качестве вейвлета взял DB4 (устраняет постоянную составляющую и линейную зависимость цвета). Размер кадра 160x240. Ступени: 80x120, 40x60, 20x30, 10x15 Получившиеся коэффициенты - меньше 0 и больше 255: Вопрос - что с ними делать дальше? Пока просто их проквантовал линейно от 0 до 255: y[0..255]=f(x)=k*x+b k=255/(max-min) b=-k*min Получилась вот такая визуализация разложения: Что хочется в итоге? : - данные последней ступени нужно правильно упорядочить, проквантовать и закодировать для компактности (Хаффман или арифметический кодер), затем добавить биты/байты для коррекции ошибок. И отправить в эфир. Суть - помехоустойчивый кодек, допускающий потери. Если есть потери или искажение на отдельных ступенях разложения, то они отбрасываются - заменяются нулями. В этом случае, принятое изображение будет показано с меньшей точностью чем исходное. Ещё статьи умные почитал, советуют НЧ блок (в самом левом верхнем углу) - кодировать АДИКМ (а не Арифметическим кодером как в JPEG2000), чтобы искажения не сильно гробили картинку на выходе. Собственно, вопросы: 1. Каким квантователем квантовать? Пока выбран линейные квантователи - отдельно для каждого шага: [0..255] 2. Как упорядочивать данные , иначе - в какой последовательности передавать? 3. Весовые коэффициенты, какие взять? На счёт НЧ - понятно, что это самое значимое, а для остальных сегментов? 4. Какой кодер брать - Хаффман , Арифметический, или? -
wavelet IDWT/DWT Simulink
nice_vladi опубликовал тема в Алгоритмы ЦОС (DSP)
Всем привет, В Simulink собрал схему вейвлет-преобразования. Но есть нюанс: она не работает =) Значения на выходе связки idwt-dwt не соответствуют тому, что подается на вход. Базис: добеши 6го порядка. Сама схема: Графики: Входные данные + два оба выхода DWT: Со снижением базиса вейвлет-преобразования выходные данные становятся более похожими на исходный сигнал. Но почему с базисами бОльшей длины (4-6-8) все ломается? По теории же это преобразование обратимо и не должно зависит от базиса? При подачи константы на вход видно, что после выхода фильтров в режим (20 отсчетов) результат преобразования соответствует входным данным (константе = 1). Тогда почему в первом случае, после 20 отсчетов значения на выходе не соответствуют значениям на входе? Знающие, подскажите, пожалуйста, что я делаю не так? Почему значения по выходу не соответствуют значениям по входу?