Скачать 52.84 Kb.
|
KOT.ITMO.RU Помогли? Яндекс.Деньги 41001143976737 Лабораторная работа №5 Алгоритм JPEG Задачи
Методические указания Алгоритм сжатия JPEG можно разделить на несколько этапов: 1. Подготовка 2. ДКП (Дискретно Косинусоидальное Преобразование) 3. Квантование 4. Сжатие по Хаффману В данном случае сжатие по Хаффману мы опускаем, так как выполнять сохранение сжатого файла у нас не предусмотрено. В данной версии программы мы сжимаем и сразу же восстанавливаем и выводим изображение. Этап 1. Подготовка. Все изображение разбивается на блоки 8х8, затем изображение преобразовывается в вид яркость/цветность, при используется цветовая схема YCbCr (YUV), вот формулы перевода: Y= 0.299*R + 0.578*G + 0.114*B; Cb= -0.169*R - 0.332*G + 0.5*B+c; Cr= 0.5*R - 0.419*G - 0.0813*B+c; Где «с»-дополнительный коэффициент, равняется MAXSAMPLE/2 то есть 256/2=128. Компоненту Y оставляем без изменений, ее можно сжать любым алгоритмом без потери данных. Cжатию с потерей данных подвергаются только Cb и Cr. Этап 2.ДКП. Основным этапом работы алгоритма является дискретное косинусное преобразование (ДКП), представляющее собой разновидность преобразования Фурье. Оно позволяет переходить от пространственного представления изображения к его спектральному представлению и обратно. Первым делом создается ДКП матрица по формуле: ДКПij = 1/sqr(N), если i=0 ДКПij = sqr(2/N)*cos[(2j+1)*i*3.14/2N], если i > 0 N = 8, 0 < i < 7 , 0 < j < 7 и создается транспонированная матрица ДКПТ ДКПТij=ДКПji Затем умножаем матрицы RES=ДКП*IMG*ДКПТ Где матрица IMG это матрица 8х8 со значениями Cb либо Cr. В результате получаем матрицу в которой низкочастотные компоненты расположены ближе к левому верхнему углу, а высокочастотные - внизу справа. Этап 3. Квантование. Большинство графических образов на экране компьютера состоит из низкочастотной информации, так что высокочастотные компоненты матрицы можно безболезненно выбросить. “Выбрасывание” выполняется путем округления частотных коэффициентов. После округления отличные от нуля значения низкочастотных компонент остаются, главным образом, в левом верхнем углу матрицы. Округленная матрица значений кодируется с учетом повторов нулей. В результате графический образ сжимается более чем на 90%. Для начала рассчитываются значения матрицы квантования(1) for(i=0;i<8;i++) { for(j=0;j<8;j++) Q[i][j] = 1+((1+i+j)*q); } Где Q[i][j]-матрица квантования, q-коэффициент сжатия. Затем каждое значение в матрице RES делится на соответствующее значение в матрице Q, в результате чего получается матрица А, содержащая неотброшенные значения после округления и множество нулей. Далее значения сжимаются и записываются в файл, в данной программе же сразу после квантования осуществляется обратное деквантование, обратное ДКП, позволяющее перейти к исходному представлению данных, и перевод цвета в RGB. Программное обеспечение Рис. 1 Описание интерфейса 1-Основной дисплей, отображающий картинку. 2-Дополнительный дисплей, выполняющий сжатие блоком 32х32. 3-изначальное содержимое выбранной матрицы. 4-конечное (сжатое) содержимое выбранной матрицы. 5-ползунок установки коэффициента сжатия .6-матрица квантования с возможностью редактирования. 7-сброс изменений над картинкой.8-два дисплея-до и после. 9-пункт меню загрузки изображения Работа с программой При запуске программа загружается с предварительно загруженной картинкой. Кнопка рассчитать под картинкой состоящей из блоков 8х8 заблокирована, чтобы разблокировать её надо заполнить матрицу квантования (6) нажатием кнопки «Заполнить». После этого кнопка «Рассчитать» становится активной. Каждый раз при изменении коэффициента сжатия кнопка «Рассчитать» блокируется до заполнения матрицы квантования значениями, соответствующими данному коэффициенты сжатия (нажатием кнопки «Заполнить»). Смена картинки Смена картинки осуществляется по клику на на пункте меню «Операции->Загрузить изображение». Поддерживаются только файлы в формате *.bmp. Если размер изображения больше чем 32х32, то отображается только верхняя левая часть изображения размером 32х32 Выполнение расчетов Выбирается коэффициент сжатия и нажимается кнопка «Заполнить», затем нажимается кнопка «Рассчитать 16х8х8». После этого, проанализировав результаты и внеся изменения в таблицу (6), снова нажимается кнопка «Рассчитать 16х8х8». Действия повторяются до получения нужного результата. Назначение элементов интерфейса
Задание на лабораторную работу
Отчет
|
Фз «Об информации, информационных технологиях и о защите информации» и Постановления Правительства Российской Федерации от 17 ноября... | Цель работы: Ознакомиться с видами электропроводок и способами прокладки проводов, материалами, арматурой и инструментом. Освоить... | ||
Фз «Об информации, информационных технологиях и о защите информации», Федерального закона от 27. 07. 2006г. №152-фз «О персональных... | Заблаговременно ознакомиться в военно-учетном подразделении (отделе кадров) о порядке вручения удостоверений и объеме предстоящей... | ||
В окне «Базы данных» выбрать объект «Таблицы», выберите опцию «Создание таблицы в режиме конструктора» | Федерации, Федеральным законом «Об информации, информационных технологиях и о защите информации», Федеральным законом «О персональных... | ||
Российской Федерации, Конституцией Российской Федерации, Гражданским кодексом Российской Федерации, Федеральным законом «Об информации,... | |||
Правильно ли при отражении остатков прямых инвестиций на начало и конец периода (строка 2 по графам 10 и 19) вычислять эти остатки... |
Поиск Главная страница   Заполнение бланков   Бланки   Договоры   Документы    |