Дипломная работа: Разработка программного обеспечения для фильтрации растровых изображений
Графический формат - порядок (структура), согласно которому данные, описывающие изображение, записаны в файле.
Графические данные обычно разделяются на два класса: векторные и растровые. Векторные данные используются для представления прямых, многоугольников, кривых и т. п., с помощью определенных в числовом виде базовых точек. Растровые данные представляют собой набор числовых значений, определяющих яркость и цвет отдельных пикселов. Пикселами (или пикселями - от английского pixel) называются минимальные элементы (цветные точки), из которых формируется растровое изображение.
Далее под растром будем понимать массив пикселов (массив числовых значений). Для обозначения массива пикселов часто используется термин bitmap (битовая карта). В bitmap каждому пикселу отводится определённое число битов (одинаковое для всех пикселов изображения). Это число называется битовой глубиной пиксела или цветовой глубиной изображения, т.к. от количества битов, отводимых на один пиксел, зависит количество цветов изображения. Наиболее часто используется цветовая глубина 1, 2, 4, 8, 15, 16, 24 и 32 бита.
Растровый формат используется для хранения растровых данных. Файлы такого типа особенно хорошо подходят для хранения изображений реального мира, например оцифрованных фотографий. Растровые файлы содержат битовую карту изображения и ее спецификацию. Наиболее распространенные растровые форматы: ВМР, ТIFF, GIF, РСХ, JРЕС.
В данном проекте будет использоваться ВМР формат.
2.2 Общее описание формата ВМР
Microsoft Windows Bitmap (ВМР) - собственный растровый формат операционной системы Windows. Формат основан на внутренних структурах представления растровых данных Windows. Формат совершенствовался и развивался по мере появления новых версий Windows. Первоначально был очень простым, содержал лишь растровые данные и не поддерживал сжатие. Растровые данные представляли собой индексы в цветовой палитре, которая была фиксированной и определялась графической платой. Поэтому этот формат называют аппаратно-зависимым (Device Dependent Bitmap, DDB), он был ориентирован на графические платы для IВМ РС (СGА,EGA, НERCULES) и другие.
Развитием формата ВМР стало введение в него поддержки изменяемой цветовой палитры. Это позволило хранить информацию о цветах вместе с растровыми данными. Такое изменение формата позволило сделать хранимые изображения аппаратно-независимыми (Devise Independent Bitmap, DIB). Иногда аббревиатуру DIВ используют как синоним ВМР.
2.3 Структура файла ВМР
Файлы ОБВ исходного формата ВМР содержали два раздела: заголовок файла и растровые данные (рис. 2.3.1).
Заголовок файла |
Растровые данные |
Рисунок 2.3.1 - Структура файла DDВ исходного формата ВМР
Файлы более поздних версий содержат четыре раздела: заголовок файла, информационный заголовок растра, палитру цветов и растровые данные (рис. 2.3.2).
Заголовок файла |
Заголовок растра |
Палитра цветов |
Растровые данные |
Рисунок 2.3.2 - Структура ВМР-файла
Рассмотрим в деталях структуру данных файла формата ВМР версии 3.x, появившегося с операционной системой Microsoft Windows 3.x. Этот формат поддерживается большинством существующих в настоящее время приложений.
Все версии формата ВМР начинаются с 14-байтового заголовка-структуры.
Листинг 2.3.1 - Структура данных файла формата ВМР версии 3.x
BITMAPFILEHEADER :
Typedef struct tagBITMAPHEADER
{ WORD bfType; //тип файла, должен быть 4d42h («ВМ»)
DWORD bfSise //размер файла в байтах
WORD bfReserved1; //зарезервировано, должен быть 0
WORD bfReserved2; // зарезервировано, должен быть 0
DWORD bfOffBits; //смещение в байтах до начала растровых данных