Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Распознавание и штриховые коды






Штриховой код — графическая информация, наносимая на поверхность, маркировку или упаковку изделий, представляющая возможность считывания её техническими средствами — последовательность чёрных и белых полос либо других геометрических фигур.[4]

Линейные штриховые коды

Линейными (обычными) называются штриховые коды, читаемые в одном направлении (по горизонтали). Линейные символики позволяют кодировать небольшой объём информации (до 20—30 символов, обычно цифр).

Линейные штриховые коды были созданы и традиционно использовались как машиночитаемые идентификаторы на изделиях. При этом каждая этикетка содержала уникальный серийный номер, закодированный в виде черных и белых полос, который служил ключом в базе данных, содержащей более детальную информацию.

Линейный штриховой код имеет «вертикальную избыточность», означающую, что одна и та же информация повторяется по вертикали. Вертикальная избыточность позволяет штриховому коду, имеющему дефекты печати (например, пятна или просветы) сохранять читаемость [4]

Наиболее распространённые линейные символики: EAN (EAN-8 состоит из 8 цифр, EAN-13 — используются 13 цифр), UPC (UPC-A, UPC-E), Code56, Code128 (UPC/EAN-128), Codabar, «Interleaved 2 of 5».[5]

UPC

UPC (Universal Product Code) — американский стандарт штрих-кода, предназначенный для отслеживания товаров в магазинах.

Код состоит из 2 групп цифр, по 6 цифр в каждой группе. Группы цифр окаймляются ограждающими, штрих-шаблонами (Guard Patterns). Эти шаблоны содержат штрихи единичной ширины, которые служат для синхронизации сканера штрих-кода. Наличие именно трёх таких полей обусловлено в первую очередь возможным нанесением штрих-кода на закруглённую поверхность. Левые и правые защитные шаблоны состоят из 3 штрихов единичной ширины — двух тёмных и одного светлого между ними. Средний защитный шаблон состоит из 5 штрихов — трёх светлых и двух тёмных. Всё остальное — цифры.

Каждая цифра кодируется с помощью четырёх штрихов: двух светлых и двух тёмных. Каждый штрих может иметь относительную ширину в одну, две, три или четыре единицы. Общая ширина штрихов для одной цифры всегда составляет семь единиц. Битовая комбинация для каждой цифры разработана таким образом, чтобы цифры, насколько это возможно, отличались друг от друга. Общая ширина всего кода всегда равна 95 единицам. В любом коде 29 светлых и 30 тёмных штрихов. Все эти технические решения очень важны для надёжности и простоты сканирования этого кода. Последняя цифра — контрольное число, служит для выявления возможной ошибки при чтении кода сканером или ручного ввода цифр кода с клавиатуры.[6]

Рис. 3. Штрих-код UPC

EAN

EAN (European Article Number) — европейский стандарт штрих-кода, предназначенный для кодирования идентификатора товара и производителя. Является надмножеством американского стандарта UPC.

Основное отличие от кода UPC по внутренней организации — механизм вычисления тринадцатой цифры и почти несущественное изменение в расчёте контрольного числа с учётом этой 13-й цифры.[7]

Рис. 4. Штрих-код EAN

Code128

Стандарт штрих-кода Code128 включает возможность кодирования не только цифр, но и букв латинского алфавита, а также специальных символов. Code128 включает в себя 107 символов, из которых 103 символа данных, 3 стартовых, и 1 остановочный (стоп) символ.

Штрих-код состоит из шести зон: белое поле, стартовый символ (Start), кодированная информация, проверочный символ (контрольный знак), остановочный (Stop) символ, белое поле. Символы штрихового кода Code128 состоят из трёх штрихов и трёх промежутков. Штрихи и промежутки имеют модульное построение. Ширина каждого модуля составляет от 1 до 4 модулей (1 модуль = 0, 33 мм). Ширина знака равна 11 модулям. Остановочный (стоп) знак состоит из тринадцати модулей и имеет четыре штриха и три промежутка. Использование контрольного знака является обязательным. Согласно таблице символов штрихкода Code128, каждому знаку присваивается соответствующие значение. Затем, для каждого знака, кроме знака «Stop» и контрольного знака, назначается весовой коэффициент, 1, 2, 3, …, n. При этом, знакам «Start» и следующему за ним первому знаку, присваивается весовой коэффициент равный 1. Контрольный знак вычисляется как сумма произведений весовых коэффициентов на соответствующие значения по модулю 103. Располагается контрольный знак между последним знаком данных и знаком «Stop».[8]

 

Рис. 5. Штрих-код Code128

Двумерные штриховые коды

Двумерные символики были разработаны для кодирования большого объёма информации. Расшифровка такого кода проводится в двух измерениях (по горизонтали и по вертикали).

Двумерный код (или 2D-код) - наиболее общее наименование для всего этого класса символик. Названия стековая символика (stacked symbology) или многорядный код (multi-row code) более точно отражают сущность серии кодов, в которых данные кодируются в виде нескольких строчек обычных одномерных штриховых кодов. Название матричный код (Matrix code) применяется для обозначения двумерных кодов, основанных на расположении черных элементов внутри матрицы. Каждый черный элемент имеет одинаковый размер, а позиция элемента кодирует данные.

Двумерный код содержит информацию как по горизонтали, так и по вертикали. Поскольку оба направления содержат информацию, теряется возможность использования вертикальной избыточности (заметим, что в двумерных стековых кодах присутствует небольшая вертикальная избыточность). Борьба с ошибками в двумерных кодах обеспечивается за счет использования специальных контрольных сумм, позволяющих гарантировать достоверность вводимой информации.[4]

В настоящее время разработано множество двумерных штрих-кодов, применяемых с той или иной широтой распространения. Наиболее популярные из них: Aztec Code, Data Matrix, MaxiCode, PDF417, QR код, Microsoft Tag.[5]

PDF417

PDF417 (Portable Data File) — двумерный штрих-код, поддерживающий кодирование до 2710 знаков. PDF417 был разработан и введен в 1991 году фирмой Symbol Technologies. Формат PDF417 открыт для общего использования.

PDF417 может содержать до 90 строк. Каждая строка состоит из стартового и стопового шаблона и набора ключевых слов. Каждое ключевое слово состоит из 4 штрихов и 4 пробелов, ширина ключевого слова в 17 раз больше минимального штриха или пробела — отсюда числовой суффикс в обозначении формата PDF417. PDF417 может кодировать не только текстовые, но и бинарные данные, поэтому им возможно закодировать все, что можно оцифровывать, включая цветные фотографии и отпечатки пальцев. Поэтому PDF417 используется также в системах идентификации личности.

PDF417 предусматривает полиноминальное кодирование Рида-Соломона дополнительных данных для восстановления информации. Количество дополнительных КС зависит от уровня коррекции ошибок.[4][9]

Рис. 6. Штрих-код PDF417

Data Matrix

Код Data Matrix представляет собой двумерный код, разработанный для размещения большого объема информации на ограниченной площади поверхности. Матричный код составляется из темных и светлых ячеек. Данные кодируются в двоичной форме (обычно темная ячейка соответствует двоичной единице; а светлая ячейка - двоичному нулю), а схема декодирования использует технологии обнаружения и коррекции ошибки для создания избыточности.

Символ кода Data Matrix с размером ячейки (X-размер) в 10 mil (0, 25 мм) может закодировать максимум 2000 знаков, занимая около 8 см2, по сравнению с 25 см2 для тех же данных у символа PDF417 с тем же самым X-размером.

Код Data Matrix имеет фиксированную степень защиты от ошибок для каждого размера символа кода. Поскольку информация кодируется абсолютной позицией элемента внутри кода, то есть позицией относительно границ кода, код не так чувствителен к дефектам печати, как традиционный штриховой код. Схема кодирования имеет высокий уровень избыточности, данные рассредоточены внутри символа. Это позволяет сохранять читаемость кода при его частичном повреждении или потере части кода. Каждый код имеет измерительные линейки, которые выглядят, как сплошная линия по одному краю символа, и равномерно расположенные квадратные точки одинакового размера по другому краю. Эти линейки используются для определения ориентации и плотности кода.[4]

Рис. 7. Штрих-код Data Matrix

QR

QR-код (quick response) — матричный код, разработанный и представленный японской компанией «Denso-Wave» в 1994 году. Основное достоинство QR-кода — это лёгкое распознавание сканирующим оборудованием (в том числе и фотокамерой мобильного телефона), что дает возможность использования в торговле, производстве, логистике.

В отличие от линейного штрих-кода, который сканируют тонким лучом, QR-код определяется сенсором как двумерное изображение. Три квадрата в углах изображения и меньшие синхронизирующие квадратики по всему коду позволяют нормализовать размер изображения и его ориентацию, а также угол, под которым сенсор относится к поверхности изображения. Точки переводятся в двоичные числа с проверкой по контрольной сумме.

Самый маленький QR-код (версия 1) имеет размер 21× 21 пиксель (без учёта полей), самый большой (версия 40) — 177× 177 пикселей.

Существует четыре основных кодировки QR-кодов:

· Цифровая: 10 бит на три цифры, до 7089 цифр.

· Алфавитно-цифровая: поддерживаются 10 цифр, буквы от A до Z и несколько спецсимволов. 11 бит на два символа, до 4296 символов

· Байтовая: данные в любой подходящей кодировке (по умолчанию ISO 8859-1), до 2953 байт.

· Кандзи: 13 бит на иероглиф, до 1817 иероглифов.

Для исправления ошибок применяется код Рида-Соломона с 8-битным кодовым словом. Есть четыре уровня избыточности: 7, 15, 25 и 30%. Благодаря исправлению ошибок, удаётся нанести на QR-код рисунок и всё равно оставить его читаемым.[10]

Рис. 8. Штрих-код QR

Microsoft Tag

Microsoft Tag — двумерный цветной штрих-код, разработанный Microsoft. Был специально разработан для распознавания при помощи фотокамер, встроенных в мобильные телефоны. Предназначен для быстрой идентификации и получения на устройство заранее подготовленной информации, привязанной к коду и хранящейся на сервере компании Microsoft.

Коды являются цветными, следовательно, требуют применения цветных снимающих камер. Использование цветных треугольников позволяет хранить большее количество информации при том же физическом размере элементов изображения. Информацию несут исключительно небольшие кружочки в центрах треугольников и концы синхронизационных линий. На всём остальном пространстве может быть что угодно. Коды чувствительны к геометрическим искажениям, поэтому для их использования требуется плоская поверхность. По этой же причине на распознавание влияет угол, под которым код виден считывающим устройством.

На текущий момент вся информация хранится на серверах Microsoft, а следовательно требует подключения к Интернету мобильного устройства. Владелец кодов может просматривать на сайте статистику количества их считываний по дням.

Рис. 9. Штрих-код Microsoft Tag

Считывание штрих-кодов

Считывание штрих-кода происходит при помощи сканера. Сфокусированный луч лазерного диода, отражаясь от зеркала, попадает на отклоняющую систему, состоящую их электромагнита, и подвижного зеркала, с маленьким постоянным магнитом. При питании электромагнита импульсами меняется и полярность магнитного поля, синхронно с ним двигается и подвижное зеркало. Соответственно, меняется угол отражения, луч двигается то в одну сторону, то в другую.

Луч лазера, который двигает микроконтроллер, проходит попеременно светлые и темные участки штрих-кода. Известна скорость луча, известно время начало движения. Фотоприемник (с красным фильтром), опрашивается тем же контроллером на предмет яркости пятна. В тот момент, когда луч проходит светлый участок, яркость максимальна — весь свет отражается в фотоприемник. Когда же свет попадает на темный участок штрих-кода, яркость минимальна, большая часть излучения поглощается темной краской.

В контроллере зашита информация о длине светлых и темных участков. После нормализации, основанной на скорости луча и контрольных участках в начале, середине и конце штрих-кода, он по заданному алгоритму вычислят буквенно-цифровую строку, соответствующую изображению и передает ее на компьютер или кассовый аппарат. В конце строки добавляется код клавиши «Enter».


 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.