Смещение | Имя | Описание |
0 | RgbBlue | Значение синего для элемента карты цветов |
1 | RgbGreen | Значение зеленого для элемента карты цветов |
2 | RgbRed | Значение красного для элемента карты цветов |
3 | RgbReserved | Ноль |
Данные bitmap следуют сразу за картой цветов. Данные могут быть несжатые, либо же для 4- и 8-битных изображений может использоваться схема сжатия RLE.
Логически биты (и физически, при отсутствии сжатия) сохраняются построчно. Каждая строка дополняется нулевыми байтами до 4-байтовой границы. Строки сохраняются в порядке снизу вверх.
В bitmap с одним битом на пиксель каждый пиксель – единственный бит, биты упаковываются по восемь в байт. Старший бит в байте – самый левый пиксель.
В bitmap с 4 битами на пиксель для несжатого изображения в байт упакованы два пикселя, причем старший полубайт будет самым левым пикселем, и каждая строка дополняется нулями до 4-байтовой границы.
В bitmap изображениях с 8 битами на пиксель в несжатом виде один пиксель упакован в байт с дополнением каждой строки на границу 4 байт.
В bitmap изображениях с 24 битами на пиксель каждый пиксель – три байта, содержание значения синего, зеленого и красного в том же порядке. Каждая строка дополняется нулями до границы 4 байт. Именно этот формат данных используется в разрабатываемой в подсистеме выделения текстильных волокон.
3.2 Преобразование изображения из RGB – представления в HSB
Исходное изображение преобразуется из RGB – представления в HSB в случае выбора пунктов 2 либо 3 из главного меню с целью построения гистограмм цветности, яркости и насыщенности. Обрабатываемое изображение представляет собой картинку в формате BMP 24 бит. Это значит, что, согласно разделу 3.1, после заголовка файла, размером 54 байта, следует информация о строках изображения, где каждой точке изображения соответствуют 3 байта со значениями голубого, зеленого и красного цвета. Причем строки изображения выровнены по длине до границы 4 байт.
Таким образом, читая из исходного файла по 3 байта информацию о каждом пикселе можно получить значение яркости (Brightness).
В качестве значения яркости выбирается значение максимальной компоненты RGB – представления:
B = max(r, g, b),(3.1)
где r,g,b – значения компонент RGB – представления [5].
Рис. 3.1. Гистограмма яркости изображения
Гистограммы сохраняются в bmp – файлах с целью улучшения визуального восприятия информации, т.к. наглядность в этом случае гораздо выше, чем у текстового представления.
Насыщенность S определяется через максимальные и минимальные компоненты RGB – представления. Насыщенность определяется относительным количеством белого, который надо добавить к полностью насыщенному цвету. Уровень белого определяется минимальной компонентой RGB – представления. Остальные две компоненты окрашивают белую подложку [5].
S= 1 - min(r, g, b)/max(r, g, b).(3.2)
Гистограмма насыщенности, пример которой представлен на рис. 3.2, сохраняется в файле Sa_gist.bmp.
Рис.3.2. Гистограмма насыщенности
Для вычисления цветности определяются сектора цветового круга, в которые данный цвет попадает. Цвет определяется большей по уровню компонентой RGB – представления. Сначала вычитается уровень белого – цвет приводится к насыщенному виду.
{r’, g’, b’} = {r - min, g - min, b - min}.(3.3)
Остается 2 ненулевых компоненты, возможные варианты соотношений между ними и цветностью представлены в табл. 3.4.
Таблица 3.4.
Ситуация Сектор Угол в секторе, j Цвет | r’ ³ g’ 0° - 60° (g’/r’)60° j | g’ > r’ 60° - 120° (r’/g’)60° 120° - j | g’ ³ b’ 120° - 180° (b’/g’)60° 120° + j |
Ситуация Сектор Угол в секторе, j Цвет | b’ > g’ 180° - 240° (g’/b’)60° 240° - j | b’ ³ r’ 240° - 300° r’/b’)60° 240° + j | r’ > b’ 300° - 0° (b’/r’)60° 360° - j |
Блок – схема данного алгоритма представлена на чертеже РТДП 5.000.003.
Следует отметить, что насыщенность лежит в диапазоне 0…1, в то время как цветность располагается на окружности (или другой топологически эквивалентной кривой). Существует ряд случаев, когда определить значение цветности с достаточной точностью невозможно. Это случаи так называемого серого цвета от черного до белого. Эти случаи характеризуются низким уровнем насыщенности [5].
Гистограмма цветности рис.3.3 сохраняется в файле Hu_gist.bmp. Кроме того, гистограммы сохраняются в текстовых файлах name.txt либо name_.txt в зависимости от выбора пункта главного меню, где name.bmp – имя исходного файла для дальнейшей обработки иными программными средствами в случае необходимости. При построении гистограмм согласно пункту 2 меню учитываются все пикселы изображения. При выборе операции “Создание H,S,B планов для точек с большой (малой) насыщенностью” при построении гистограмм учитываются лишь те точки, значение насыщенности которых соответствует задаваемым пользователем параметрам.
Гистограмма цветности в дальнейшем используется для выделения волокон на исходном изображении.
Рис. 3.3. Гистограмма цветности изображения
В случае достаточной насыщенности цвет определяется однозначно. При обработке цветных изображений данный алгоритм цветоопределения показывает достаточно высокую производительность и не уступает более сложным методам определения цветности, основанным на использовании непрерывных функций и выводящим метрики формально.
Используя полученные значения для цветности, и сравнивая их с порогом цветности можно выделить на изображении окрашенные и неокрашенные участки. Таким образом, если участок на изображении является неокрашенным, то, следовательно, не имеет дальнейшего смысла обработка данного участка на предмет определения наличия на нем окрашенных текстильных волокон.
Информация о HSB – представлении исходного изображения хранится в одноименном файле с расширением *.hsb. Дальнейшие преобразования основаны на анализе содержимого данного файла. Здесь следует отметить, что для избежания ошибок следует предусмотреть наличие на диске »25 Мбайт свободного пространства в случае проведения полного анализа изображения, т.к. для проведения манипуляций с данными программа создает ряд графических и текстовых файлов.
Дата: 2019-07-24, просмотров: 268.