Структурная схема, представленная на чертеже РТДП 5.000.002. Данная схема описывает функционально законченные блоки программного модуля выделения текстильных волокон на изображении и состоит из следующих элементов:
1. Выбор изображения для обработки. Выбор изображения производится путем задания текущего каталога и поиска необходимой фотографии из множества найденных в текущем каталоге.
2. Выбор операции. Этот модуль управляет всей работой подсистемы выделения. Здесь осуществляется выбор производимых над исходным изображением манипуляций. После окончания выполнения выбранной процедуры управление вновь передается в данный модуль для проведения дальнейших преобразований.
3. Выделение волокон. Этот модуль осуществляет выделение всех пикселов, сходных по цвету с цветом фона. При этом на обрабатываемом изображении остаются только те объекты, которые отличались от фона.
4. Построение R, G, B – планов. Путем прохода по всему изображению создается 3 BMP – файла, содержащих информацию о красной, голубой и зеленой составляющей обрабатываемой картинки. Информация, сохраненная в таком виде, удобна для восприятия пользователем и позволяет сразу получить визуальное представление выходных данных без использования дополнительных программных средств.
5. Поиск волокон заданного цвета. На этом этапе осуществляется поиск волокон заданного цвета для их последующей идентификации. Поиск осуществляется путем прохода по всему изображению, на котором уже выделены все волокна и нахождению объектов с заданным цветом. Результаты работы сохраняются в отдельном файле чтобы улучшить визуальное восприятие информации оператором.
6. Сохранение изображения. На этом этапе происходит сохранение изображения в bmp-формате. В результате оператор получает полное визуальное представление о проделанных манипуляциях и в случае необходимости может повторить обработку с другими задаваемыми параметрами для достижения максимального качества преобразований.
7. Преобразование из RGB - представления в HSB. Данный модуль путем прохода по всем точкам изображения осуществляет для каждого пиксела определение его красной, голубой и зеленой составляющих, и на основе их анализа производит преобразование из RGB – представления в HSB. Полученные данные сохраняются для дальнейшего использования в файле с расширением hsb.
8. Построение гистограмм цветности, насыщенности и яркости. Этим модулем осуществляется построение указанных гистограмм, которые в дальнейшем используются для выделения волокон. Гистограммы сохраняются в bmp - формате и файлах отчета.
9. Сохранение результатов обработки в файлах отчета. Результаты преобразований сохраняются в текстовых файлах для ведения необходимой отчетности и дальнейшего использования при необходимости повторных исследований. Файлы отчета не занимают много места на дисковом пространстве и содержат всю необходимую информацию, полученную в ходе проведенных преобразований.
ФУНКЦИОНАЛЬНОЕ ПРОЕКТИРОВАНИЕ
Работа с 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.
Дата: 2019-07-24, просмотров: 219.