ГОСТ Р ИСО/МЭК 18004-2015
п) Проводят три линии, параллельные каждой из осей шаблона поиска на одинаковом расстоянии
через весь шаблон, и измеряют расстояние от точки А до точки В на каждой линии. Расстояние между
линиями не ограничено, однако все три линии должны проходить через шаблон поиска.
0) Вычисляют приблизительный размер X модуля символа по каждой оси как седьмую часть сред
него из этих трех расстояний от А до В. определенных на этапе п.
р) Последовательно выбирают каждую сторону внешнего блока шаблона поиска и продлевают
линию, направленную наружу от шаблона поиска в обоих направлениях параллельно краю и на рас
стояние 0.5 X отступая внутрь от края.
q) Осуществляют поиск шаблонов синхронизации:
1) определяют два края шаблона поиска номинально перпендикулярные друг к другу, каждый из
которых имеет оба следующих признака:
1)Свободную область не менее 1.5Х в одном направлении;
ii) Область с чередующимися светлыми и темными участками с центрами на расстоянии 1Х от
края шаблона поиска в противоположном направлении (кандидат на шаблон синхронизации).
2) Проверяют, что число темных модулей в каждом кандидате на шаблон синхронизации от двух
до пяти.
г) Определяют приблизительную версию символа по количеству темных элементов шаблона син
хронизации:
- при двух темных элементах, символ имеет версию М1;
- при трех темных элементах, символ имеет версию М2:
- при четырех темных элементах, символ имеет версию М3:
- при пяти темных элементах, символ имеет версию М4.
s) Из центра первого темного модуля каждой стороны шаблона синхронизации проводят пинию,
параллельную смежной стороне шаблона поиска до пересечения с соответствующей линией, прове
денной из другой стороны и просматривая области изображения размером 3 *3 пикселей с интервалом
1Х вдоль этих линий, определяют статус каждого модуля (светлый или темный) блока информации о
формате. Определяют двоичную строку информации о формате, принимая темный пиксель за двоич
ный 1 и светлый пиксель за двоичный 0.
t) Реализуют маскирование информации о формате, применяя операцию XOR к его двоичной
строке с помощью шаблона из 7.9.2, и декодируют информацию о формате (применяя процедуру ис
правления ошибок по приложению В, если необходимо) для получения номера символа (и. следова
тельно. версии и уровня исправления ошибок символа) и указателя шаблона маски, примененный к
данным символа.
и) Если невозможно получить из двоичной строки информации о формате надлежащую после
довательность, предпринимают попытки определить, является ли правильной последовательность
битов при их считывании в обратном порядке. В случае успеха продолжаютдекодирование зеркально
отображенного символа, меняя местами координаты строк и столбцов. Если отличие от надлежащей
последовательности по приложению С не более двух битов, заменяют эту последовательность и
декодируют замененную информацию о формате, чтобы получить номер символа и шаблон маски
данных.
v) Убеждаются, что модуль имеет размер X по каждой оси, путем деления полной ширины от
внешнего края шаблона поиска, смежного со свободной зоной, до внешнего края последнего темного
модуля в шаблоне синхронизации, на число модулей, соответствующей версии символа.
w) Устанавливают сетку выборки, соответствующую версии символа, из линий по каждой оси,
параллельных друг другу и стороне шаблона поиска, отстоящих на 1Х. и проходящих через центры
модулей шаблона синхронизации и подобных позиций в шаблоне поиска
x) Просматривают области изображения размером 3 x3 пикселя, расположенные на пересечени
ях линий сетки выборки, и определяют, является ли модуль темным или светлым на основании глобаль
ного порога. Формируют битовую матрицу, принимая темные модули как двоичные 1, и светлые модули
как двоичные 0.
y) Выполняют процедуру маскирования, применяя операцию XOR шаблона маски данных к об
ласти кодирования символа, и восстанавливают знаки символа, представляющие данные и кодовые
слова исправления ошибок. Эта процедура является обратной процессу маскирования данных, при
меняемому в процессе кодирования.
2
) Определяют кодовые слова символа согласно правилам размещения, указанным в 7.7.3.
60