3. ФУНКЦИОНАЛЬНОЕ ПРОЕКТИРОВАНИЕ
3.1 Работа с BMP – файлами
В данном дипломном проекте в качестве исходных данных для обработки используются фотографии, сохраненные в формате BMP, 24 бит на пиксель, с изображенными на них текстильными волокнами различного типа и окраски.
Файлы формата bitmap [6], содержащие битовое изображение, начинаются со структуры BITMAPFILEHEADER табл.3.1. Эта структура описывает тип файла и его размер, а также смещение области битов изображения.
Таблица 3.1.
Заголовок файла BITMAPFILEHEADER
Смещение | Размер | Имя | Описание |
0 | 2 | BfType | Тип файла. Поле содержит значение 0x4D42 (текстовая строка «ВМ»). |
2 | 4 | BfSize | Размер файла в байтах. Это поле может содержать неправильное значение, так как в SDK для Windows 3.0 поле bfSize было описано неправильно (поле содержит размер файла в двойных словах). Обычно содержимое этого поля игнорируется, так как из-за ошибки в документации старые приложения устанавливали в этом поле неправильное значение. |
6 | 2 | BfReserved1 | Зарезервировано, должно быть равно нулю. |
8 | 2 | BfReserved2 | Зарезервировано, должно быть равно нулю. |
10 | 4 | BfOffBits | Смещение битов изображения от начала файла в байтах. |
Сразу после структуры BITMAPFILEHEADER в файле следует структура BITMAPNFOHEADER. Этот заголовок содержит описание изображения и, необязательно, карту цветов. Структура заголовка bitmap иногда рассматривается как BITMAPINFO с полями вплоть до карты цветов как BITMAPINFOFEADER табл. 3.2.
Таблица 3.2.
Заголовок файла BITMAPINFOHEADER
Смещение | Размер | Имя | Описание |
14 | 4 | BiSize | Размер этого заголовка в байтах, (всегда 40) |
18 | 4 | BiWidth | Ширина битового изображения в пикселях |
22 | 4 | BiHeight | Высота битового изображения в пикселях |
26 | 2 | BiPlanes | Число плоскостей изображения, должно быть 1 |
28 | 2 | BiBitCount | Количество бит на один пиксель. Может быть равно 1, 4, 8 или 24. |
30 | 4 | BiCompression | Тип сжатия. BI_RGB – сжатие не используется; BI_RLE4 – сжатие изображения, в которых для представления одного пикселя используется 4 бита; BI_RLE8 – сжатие изображения, в которых для представления пикселя используется 8 бит; |
34 | 4 | BiSizeImage | Размер сжатого изображения в байтах, или ноль |
38 | 4 | BiXPelsPerMeter | Горизонтальное разрешение, в пикселях / на метр |
42 | 4 | BiYPelsPerMeter | Вертикальное разрешение, в пикселях / на метр |
42 | 4 | BiYPelsPerMeter | Вертикальное разрешение, в пикселях / на метр |
46 | 4 | BiClrUsed | Количество используемых цветов, описание ниже |
50 | 4 | BiColorImportant | Число «важных» цветов |
54 | 4*N | BmiColors | Карты цветов |
Поле biSizeImage может быть (и обычно бывает) нулем, если данные несжатые.
Изображения, использующие 1, 4 или 8 бит на пиксель должны иметь карту цветов. Размер карты цветов – обычно 2, 16 или 256 элементов данных соответственно, но может быть меньше, если изображение не нуждается в полном комплекте цветов. Если поле biClrUsed – ненулевое, оно содержит количество используемых цветов, которое также представляет собой число элементов данных в карте цветов. Если это поле – нулевое, карта цветов имеет полный размер. Для 24-битных изображений карты цветов отсутствуют, и изображение содержит непосредственные RGB цвета. Поле biClrUsed может быть ненулевое для создания таблицы цветов фиксированного размера.
Поскольку возможно, что устройство отображения не будет иметь столько доступных цветов, сколько требуется для изображения, элементы данных в карте цветов должны начинаться с наиболее важных цветов. Поле biClrImportant, если оно ненулевое, сообщает, сколько цветов важно для хорошего воспроизведения изображения.
Элементы данных карты цветов содержат четыре байта табл. 3.3.
Таблица 3.3.
Элемент карты цветов RGBQUADСмещение | Имя | Описание |
0 | RgbBlue | Значение синего для элемента карты цветов |
1 | RgbGreen | Значение зеленого для элемента карты цветов |
2 | RgbRed | Значение красного для элемента карты цветов |
3 | RgbReserved | Ноль |
Данные bitmap следуют сразу за картой цветов. Данные могут быть несжатые, либо же для 4- и 8-битных изображений может использоваться схема сжатия RLE.
Логически биты (и физически, при отсутствии сжатия) сохраняются построчно. Каждая строка дополняется нулевыми байтами до 4-байтовой границы. Строки сохраняются в порядке снизу вверх.
В bitmap с одним битом на пиксель каждый пиксель – единственный бит, биты упаковываются по восемь в байт. Старший бит в байте – самый левый пиксель.
В bitmap с 4 битами на пиксель для несжатого изображения в байт упакованы два пикселя, причем старший полубайт будет самым левым пикселем, и каждая строка дополняется нулями до 4-байтовой границы.
В bitmap изображениях с 8 битами на пиксель в несжатом виде один пиксель упакован в байт с дополнением каждой строки на границу 4 байт.
В bitmap изображениях с 24 битами на пиксель каждый пиксель – три байта, содержание значения синего, зеленого и красного в том же порядке. Каждая строка дополняется нулями до границы 4 байт. Именно этот формат данных используется в разрабатываемой в подсистеме выделения текстильных волокон.
... обеспечению развития экономики, а с другой - осуществлению гарантий прав человека в сфере труда. В лаборатории производятся исследования зависимости прочности клеевых соединений от технологических параметров склеивания при изготовлении верхней одежды. При исследовании используются электромеханическое оборудование. По степени опасности поражения людей электрическим током в окружающей среде, ...
... о следах", Л.1986 г. 4. И.Е.Зуева "Обнаружение, фиксация и изъятие следов" М.1969 г. 5. Ю.Торвальд "Сто лет криминалистики" М.1975 г. -------------------------------------------------------¬ ¦ I. История развития криминалистической идентификации.¦ L------------------------------------------------------- Основоположенником криминалистической идентификации является Альфонсо ...
... следствии. Назначая экспертизу, суд решает также вопрос о целесообразности присутствия при проведении экспертизы судей и участников процесса. 3.2. Значение информации о следах применения холодного оружия в судебной практике Рассматривая процессуальные, организационные и методические проблемы судебной экспертизы, нельзя обойти вниманием и такой важный вопрос, как ...
... путем, но и с помощью различных оптических приборов специальной конструкции.19 Такое положение подтверждено практикой и временем. Осуществление криминалистической идентификации с использованием компьютерных технологий предполагает работу не с обычными фотографическими изображениями объектов, а с их электронными копиями, ставя осуществление данных методов на качественно новый уровень. Далее ...
0 комментариев