ГОСТ Р ИСО/МЭК 29158—2022
Приложение D
(обязательное)
Алгоритм соединения точек
Этот процесс называется «функцией стыковки» и применяется с приведенным в двоичную форму изобра
жением. Результат используют для первоначального декодирования с использованием рекомендуемого алгоритма
декодирования. Приведенные ниже шаги направлены на соединение областей изображения, которые разделены
менее чем одним модулем, но не соединяют области, которые разделены расстоянием в модуль или более, напри мер,
чередующихся модулей «дорожки синхронизации».
D.1 Первоначальный выбор размера стыковочного сегмента и цвета модуля
Поскольку размер модуля при выполнении этого алгоритма неизвестен, последовательно используют пред
положения о размере модуля в диапазоне от 50 % наименьшего и до 110 % наибольшего размера X, разрешенного
спецификацией по применению.
Кроме того, применение алгоритма также требует знания цвета модуля «двоичная единица» и «двоичный
ноль». Как правило, цвет модуля «двоичная единица» темный для светлого фона и светлый для темного фона.
(Например, цвет модуля «двоичная единица» — это цвет «L-образного шаблона» символа Data Matrix.) Если при
расчете не «известен» цвет модуля «двоичная единица», может потребоваться повторение алгоритма для каждого
случая.
П р и м е ч а н и е — Пользователи могут проводить оптимизацию этого алгоритма (например, путем анализа
изображения сделать лучшее предположение о правильном размере стыковочного сегмента) до тех пор, пока не
будет получен эквивалентный результат.
D.2 Соединение элементов одного цвета
1) Выполняют следующие действия:
a) Устанавливают для каждого пикселя в результирующем изображении его принадлежность к фоно
вому цвету «двоичный ноль».
b
) Устанавливают начальный размер стыковочного сегмента равным 50 % минимального размера X
для конкретного применения.
2) Начинают с ряда элементов изображения, расположенного на расстоянии, равном половине размера сты
ковочного сегмента, в направлении вниз от вершины символа, и с колонки, находящейся на расстоянии, равном
половине размера стыковочного сегмента с левой стороны в направлении к внутренней части изображения:
a) Если цвет пикселя соответствует «двоичной единице», размещают пиксель на том же расстоянии в
результирующем изображении и переходят к этапу, указанному в перечислении 2е.
b
) Находят два пикселя, расположенных на расстоянии, равном половине стыковочного сегмента, в
направлении влево и вправо, и два пикселя, расположенных на расстоянии, равном половине стыковочного
сегмента, в направлении вниз и вверх.
c) Если оба горизонтальных или вертикальных пикселя, обнаруженных согласно перечислению 2Ь
имеют цвет «двоичной единицы», переходят кдействиям, указанным в перечислении 2d; в противном случае
выполняют действия, указанные в перечислении 2е.
d) Для каждого пикселя на линии или линиях между двумя пикселями «двоичная единица» обнару
женными при выполнении действий, указанных в перечислении 2Ь (линия, равная по длине стыковочному
сегменту), определяют соответствующим образом размещенные пиксели «двоичная единица» в результиру
ющем изображении.
e) Переходят к следующему пикселю и выполняют действия, указанные в перечислении 2а. (Если по
ложение текущего пикселя находится на расстоянии, равном половине длины стыковочного сегмента вглубь
изображения с правого края, следующий пиксель является началом колонки на расстоянии, равном полови не
длины стыковочного сегмента в направлении внутрь от левого края в следующем ряду. Если положение
текущего пикселя находится в ряду на расстоянии, равном половине длины стыковочного сегмента в направ
лении вверх от основания изображения и на расстоянии, равном половине длины стыковочного сегмента в
направлении внутрь с правого края, считают, что проход через все изображение полностью завершен).
D.3 Применение рекомендуемого алгоритма декодирования
D.3.1 Общие сведения
Стандартизованные матричные символики требуют определения места положения сплошных модулей при
использовании рекомендуемых алгоритмов декодирования. С помощью некоторых технологий маркирования
невозможно производить символы с гладкими непрерывными линиями, создающими изображение в устройстве
формирования изображения. Например символы, полученные с применением иглоударной технологии, состоят из
несвязанных между собой точек.
23