Для различных графических приложений и разных компьютерных систем доступно множество форматов файлов. Одни форматы разработаны организациями по стандартизации ISO и ANSI, другие предлагаются компаниями - производителями программного или аппаратного обеспечения, третьи - продукты независимых групп. В число широко используемых форматов входят JPEG, TIFF, PNG и форматы для операционных систем компьютеров Apple Macintosh, X Window и Windows.

ЛИТЕРАТУРА

Методы снижения цветности представлены в работах [7, 122, 149, 151, 176]. В книге [130] в общем контексте обсуждаются методы обработки изображения и преобразования. Подробно различные алгоритмы сжатия файлов рассмотрены в публикациях [7, 14, 157, 276, 383, 412, 414].

Общая информация по форматам графических файлов изложена в [46, 216]. Для получения дополнительной информации по формату JPEG рекомендуется обратиться к работе [348]. Стандарт формата файлов CGM подробно освещен в книге [152].

УПРАЖНЕНИЯ

15.1. Напишите программу реализации равномерного снижения цветности для всех уровней цвета в полноцветной системе, где каждый 1ЮВ-компонент задается в целочисленном диапазоне от 0 до 255. Вход - любой целый делитель <1, на который будут делиться все цветовые компоненты, а выход - набор сокращенных целых кодов цвета.

15.2. Так модифицируйте программу из предыдущего упражнения, чтобы в качестве входа использовался не делитель, а целое к, которое задает сокращенное число уровней конечного изображения.

15.3. Модифицируйте программу из упражнения 15.2, чтобы компоненты R, G и В сокращались по-разному. Сокращение цветности можно задать как целочисленный диапазон для каждого компонента или как число битов.

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

15.5. Напишите программу реализации схемы снижения цветности методом разрезания по медиане. Файл изображения, содержащий п кодов цвета RGB, должен сокращаться до к кодов цвета.

15.6. Напишите программу реализации группового кодирования для одной строки развертки, содержащей 1024 целых значений, принадлежащих диапазону от 0 до 255.

15.7. Модифицируйте программу из предыдущего упражнения, чтобы она кодировала файл, состоящий из п строк развертки.

15.8. Напишите программу реализации упрощенного алгоритма кодирования LZ для одной строки развертки, содержащей 1024 целых значений, принадлежащих диапазону 0-255. Программа должна выполнять поиск только трехэлементных шаблонов, представляющих повторяющиеся цвета RGB. В шаблонах используйте целочисленные коды.

15.9. Расширьте программу из предыдущего упражнения, чтобы она обрабатывала входной файл с п строками развертки.

15.10. Для данного входного файла изображения, содержащего п строк развертки и т RGB-цветов пикселей в каждой строке, напишите программу, выдающую таблицу частот вхождения кодов цвета.

15.11. Используя частоты вхождения из предыдущего упражнения, напишите программу сжатия файла изображения с использованием кодирования Хаффмана.

15.12. Используя частоты вхождения из упражнения 15.10, напишите программу сжатия файла изображения с использованием арифметического кодирования.

15.13. Дан список 32 цветов пикселей, причем каждый пиксель определяется тремя RGB-компонентами. Напишите программу расчета значений дискретного косинус-преобразования (уравнение (15.1)) для всех восьмипиксельных последовательных групп списка.

15.14. Используя уравнение (15.2) и преобразованные значения из предыдущего упражнения, напишите программу расчета исходных (восстановленных) 32 цветов пикселей.

15.15. Модифицируйте программу из предыдущего упражнения, чтобы она рассчитывала обратное преобразование для любого набора из 8 пикселей, используя только выбранное значение п преобразованных значений; т.е. п может быть любым значением от 1 до 8 включительно.

15.16. Дан файл изображения, содержащего 32 х 32 цветов пикселей, причем каждый пиксель представлен тремя RGB-компонентами. Напишите программу вычисления значений дискретного косинус-преобразования (уравнение (15.3)) для всех последовательных групп 8x8 пикселей.

15.17. Используя уравнение (15.4) и преобразованные значения из предыдущего упражнения, напишите программу расчета исходных (восстановленных) цветов пикселей блока 32 х 32.

15.18. Измените программу из предыдущего упражнения, чтобы она вычисляла значения обратного преобразования для любого набора 8x8 пикселей, используя заданный выбранный блок п х in преобразованных значений; т.е. пят могут присваиваться произвольные целые значения от 1 до 8 включительно.


⇐ вернуться назад |