Russian Qt Forum
Май 20, 2024, 23:01 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Помогите, кто знаком с Wavelet (Вейлет) преобразованием  (Прочитано 3073 раз)
Danni
Гость
« : Февраль 24, 2011, 19:31 »

Пишу конвертер, для своего формата графических файлов (для текстур в общем).
Основной упор в сжатии сего формата делаю на дискретное вейлет преобразование (DWT). Только не нужно высказывать мысли по поводу нужности DWT в общем, да и своего формата в частности.
Курил мануалы по этой теме до полного просветления, затем приступил к коду.
Начал конечно с самых простых функций:
x_n - возвращает нужный пиксель из переданной ей строки
dwt_line - преобразует строку (сначала вычисляет все нечётные пиксели, затем чётные, и в конце сортирует чётные пиксели в начало строки)
dwt_data - перебирает и преобразует все строки, затем столбцы

Меня смущает два вопроса: правильность применения формул во второй функции и то, что низкочастотное изображение формируется в нижнем левом углу, а не в верхнем левом.
Первый вопрос появился из-за  небольших отличий в результатах применения формул из мануалов и моей реализации.
Второй это даже не вопрос, это полный ступор - как такое могло вообще произойти?

Может кто-то сталкивался с этим преобразованием? Есть ли подобные простые алгоритмы у кого?

Выкладываю консольную программу и описанные выше три функции.
Программа использует libgcc_s_dw2-1.dll, mingwm10.dll и QtCore4.dll. Форум всё-таки о Qt, поэтому dll не вложил, да и весят много.
Программа читает файл input.tga преобразует и записывает результат в output.tga. Читает и пишет только несжатые TGA.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.038 секунд. Запросов: 17.