Помощь к программе DataMatrix Recognizer
Версия 1.000
Введение
Программа DataMatrix Recognizer предназначена для распознавания, декодирования и кодирования кодов DataMatrix. Осуществлена поддержка графических форматов JPEG, GIF, BMP. Реализована возможность распознавания графических файлов, которые получаются, например, при съёмке камеры мобильного телефона. При наличии графических файлов сгенерированных кодировщиками DataMatrix, они просто декодируются без использования функций распознавания. Реализованное кодирование DataMatrix, охватывает все режимы и доступные размеры.
1. Описание стандарта DataMatrix
Технология 2D DataMatrix кодов позволяет кодировать до 1556 байт, 2335 символов латинского алфавита и 3116 цифровых единиц. Существуют 24 размера квадратных символов и 6 размеров прямоугольных символов DataMatrix с корректировкой ошибок Рида-Соломона, обеспечивающей возможность повреждения кода от 28 до 62%.
Табл. 1 - Квадратные символы DataMatrix
Номер |
Размер |
Кодируемые данные |
% коррекции ошибок |
||
Цифровые |
Алфавит |
Байт |
|||
1 |
10x10 |
6 |
3 |
1 |
62.5 |
2 |
12x12 |
10 |
6 |
3 |
58.3 |
3 |
14x14 |
16 |
10 |
6 |
55.6 |
4 |
16x16 |
24 |
16 |
10 |
50 |
5 |
18x18 |
36 |
25 |
16 |
43.8 |
6 |
20x20 |
44 |
31 |
20 |
45 |
7 |
22x22 |
60 |
43 |
28 |
40 |
8 |
24x24 |
72 |
52 |
34 |
40 |
9 |
26x26 |
88 |
64 |
42 |
38.9 |
10 |
32x32 |
124 |
91 |
60 |
36.7 |
11 |
36x36 |
172 |
127 |
84 |
32.8 |
12 |
40x40 |
228 |
169 |
112 |
29.6 |
13 |
44x44 |
288 |
214 |
142 |
28 |
14 |
48x48 |
348 |
259 |
172 |
28.1 |
15 |
52x52 |
408 |
304 |
202 |
29.2 |
16 |
64x64 |
560 |
418 |
277 |
28.6 |
17 |
72x72 |
736 |
550 |
365 |
28.1 |
18 |
80x80 |
912 |
682 |
453 |
29.6 |
19 |
88x88 |
1152 |
862 |
573 |
28 |
20 |
96x96 |
1392 |
1042 |
693 |
28.1 |
21 |
104x104 |
1632 |
1222 |
813 |
29.2 |
22 |
120x120 |
2100 |
1573 |
1047 |
28 |
23 |
132x132 |
2608 |
1954 |
1301 |
27.6 |
24 |
144x144 |
3116 |
2335 |
1556 |
28.5 |
Табл. 2 - Прямоугольные символы DataMatrix
Номер |
Размер |
Кодируемые данные |
% коррекции ошибок |
||
Цифровые |
Алфавит |
Байт |
|||
25 |
8x18 |
10 |
6 |
3 |
58.3 |
26 |
8x32 |
20 |
13 |
8 |
52.4 |
27 |
12x26 |
32 |
22 |
14 |
46.7 |
28 |
12x36 |
44 |
31 |
20 |
45.0 |
29 |
16x36 |
64 |
46 |
30 |
42.9 |
30 |
16x48 |
98 |
72 |
47 |
36.4 |
Высокий уровень кодирования DataMatrix поддерживает 6 различных режимов, при этом ASCII режим состоит из 3 подрежимов.
Табл. 3 - Режимы кодирования DataMatrix
Номер |
Режим |
Комментарий |
0 |
ASCII standard ASCII extended ASCII numeric |
ASCII символы от 0 до 127 ASCII символы от 128 до 255 цифры |
1 |
C40 |
Символы 0-127 |
2 |
TEXT |
Символы 0-127 |
3 |
X12 |
Символы 13, 32, 42, 48-57, 62, 65-90 |
4 |
EDIFACT |
Символы 32-94 |
5 |
BASE256 |
Символы 0-255 |
2. Описание функций программы DataMatrix Recognizer
2.1. Интерфейс
Основное рабочее
окно программы представлено на рисунке 1:
Рис. 1 – Основное окно программы DataMatrix Recognizer
В целом видно, что программа состоит из следующих блоков: меню (1), блоки распознавания (2), декодирования (3) и кодирования (4), графические блоки (5) и (6), блок ввода-вывода текста (7), строка состояния (8).
Меню содержит немного пунктов, которые, тем не менее, охватывают все необходимые действия:
«Файл → Открыть» – вызывает окно открытия графических файлов форматов JPEG, GIF, BMP. Удачно открытый файл загружается в графический блок (5). При неудаче выдаётся ошибка.
«Файл → Сохранить» – вызывает окно сохранения графического файла в формате BMP, которое передаёт управление функции, сохраняющей изображения графического блока (6). Изображением в этом блоке может быть результат распознавания или кодирования.
«Файл → Настройки» – вызывает окно настроек программы (рис. 2). Здесь всего две опции – переключение языка (Русский, Английский), выбор размера элемента матрицы при выполнении операции кодирования. Размер ячейки матрицы должен лежать в пределах от 1 до 50 пикселей.
Рис. 2 – Окно настроек программы
Остальные элементы меню понятны и не представляют интереса. Блоки распознавания, декодирования и кодирования будут описаны ниже. Стоит только отметить, что значок «?» в углах каждого блока при нажатии на него переводит пользователя к окну краткой справки, например рис. 3.
Рис.3 – Окно краткой справки
Графические блоки предназначены для отображения: (5) – входной графической информации; (6) – выходной графической информации. К входной графической информации относятся графические файлы, полученные с помощью операций кодирования или снятые видеокамерой (например, мобильным телефоном). Двойное нажатие на каждом графическом блоке позволяет менять масштаб изображения – растянутое или полный размер.
Блок ввода-вывода текста (7) предназначен для ввода текста для кодирования, а также вывода декодированного текста. Всплывающая подсказка показывает количество символов в этом блоке. Строка состояния (8) предназначена для информирования пользователя об производимых операциях и ошибках.
2.2. Режим распознавания
Данный режим поддерживает распознавание произвольно повернутых изображений кода DataMatrix, снятых камерой под различным углом с плоскостью. При распознавании ширина ячейки матрицы должна равняться или превышать 3 пикселя. Алгоритм не предусматривает возможность обращать цвета, т.е. менять чёрное на белое. Процедура предусматривает получение монохромного изображения, в которой большое значение имеет задание уровня яркости, разделяющего темное и светлое. В большинстве случаев хватает использования режима автоматического определения яркости. Если код DataMatrix не обнаруживается, то вы можете выбрать режим яркости или вообще, задать его сами. На рисунке 4 представлены результаты распознавания.
Рис. 4 – Результаты распознавания
2.3. Режим декодирования
Режим декодирования предназначен для декодирования вертикальных кодов DataMatrix, сгенерированных этой или другими программами. Пример приведен на рисунке 5.
Рис. 5 –
Декодирование DataMatrix
2.4. Режим кодирования
Режим кодирования поддерживает все описанные кодировки и размеры. При кодировании вы их можете задавать сами, например, закодируем «Hello World» кодировкой C40 (Рис. 6).
Рис. 6 – Пример кодирования