Помощь к программе 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 – Пример кодирования