штрих код это определение

Как устроен штрихкод?

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

Как устроен баркод, и что закодировано на этой картинке?

штрих код это определение

Попробуем разобраться, заодно напишем декодер таких кодов.

Введение

Использование штрихкодов имеет давнюю историю. Первые попытки автоматизации начинались еще в 50х, патент на устройство считывания кодов был получен в 1952г. Инженер, занимавшийся сортировкой вагонов на железной дороге, захотел упростить процесс. Идея была очевидной — кодировать номер с помощью полос и считывать их с помощью фотоэлементов. В 1962г коды стали официально использоваться для идентификации вагонов на американской железной дороге (система KarTrak), в 1968 прожектор заменили лазерным лучом, что позволило повысить точность и уменьшить размер считывателя. В 1973г появился формат «универсального кода продукта» (Universal Product Code), и в 1974 с использованием сканера кодов был продан первый продукт (жевательная резинка Wrigley’s — это же США;) в супермаркете. В 1984 треть магазинов использовали штриходы, в России же они начали использоваться примерно с 90х годов.

Разных кодов под разные задачи сейчас используется довольно много, к примеру, последовательность «12345678» может быть представлена такими способами (и это еще не все):

штрих код это определение

Приступим к побитовому разбору. Далее, все ниженаписанное будет относиться к виду «Code-128» — просто потому, что его формат довольно простой и понятный. Желающие поэкспериментировать с другими видами, могут открыть онлайн-генератор и посмотреть самостоятельно.

На первый взгляд штрихкод кажется просто беспорядочной последовательностью линий, на самом деле, его структура четко фиксирована:

штрих код это определение

1 — Пустое место, нужное для четкого определения начала кода
2 — Стартовый символ. Для Code-128 возможны 3 варианта (называемых А, В и С): 11010000100, 11010010000 или 11010011100, им соответствуют разные кодовые таблицы (подробнее в Википедии).
3 — Собственно код, содержащий нужные нам данные
4 — Контрольная сумма
5 — Стоп символ. Для Code-128 это 1100011101011.
6(1) — Пустое место.

Теперь о том, как кодируются биты. Тут все очень просто — если взять ширину самой тонкой линии за «1», то линия двойной ширины даст код «11», тройная «111», и так далее. Пустое место будет «0» или «00» или «000» по тому же самому принципу. Желающие могут сравнить стартовый код на картинке, чтобы убедиться что правило выполняется.

Теперь можно начинать программировать.

Получаем битовую последовательность

В принципе, это самая сложная часть, и разумеется, алгоритмически ее можно реализовать по-разному. Не уверен, что приведенный ниже алгоритм оптимальный, но для учебного примера его вполне достаточно.

Для начала загрузим изображение, растянем его по ширине, возьмем из середины изображения горизонтальную линию, преобразуем ее в ч/б и загрузим в виде массива.

На штрихкоде черному соответствует «1», а в RGB наоборот, 0, так что массив нужно инвертировать. Заодно вычислим среднее значение.

Запускаем программу, чтобы убедиться, что баркод загружен корректно:

штрих код это определение

Теперь нужно определить ширину одного «бита». Для этого мы выделим начало стартовой последовательности «1101», записывая моменты перехода графика через среднюю линию.

Мы записываем только переходы через середину, так что код «1101» будет записан как «101», но нам этого достаточно чтобы узнать его ширину в пикселах.

Теперь собственно декодирование. Находим очередной переход через середину, и определяем число бит, попавших в интервал. Поскольку совпадение не абсолютное (код может быть слегка изогнут или растянут), используем округление.

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

Если все было сделано правильно, то мы получаем на выходе примерно такую последовательность:

11010010000110001010001000110100010001101110100011011101000111011011
01100110011000101000101000110001000101100011000101110110011011001111
00010101100011101011

Декодирование

Здесь никаких сложностей в принципе, нет. Символы в Code-128 кодируются 11-битным кодом, который имеет 3 разновидности (А, В и С) и может хранить либо разные кодировки символов, либо цифры от 00 до 99.

В нашем случае, начало последовательности 11010010000, что соответствует «Code B». Было жутко влом вбивать вручную все коды из Википедии, поэтому таблица была просто скопирована из браузера и ее парсинг был тоже сделан на Python (hint: на продакшене так делать не надо).

Теперь осталось самое простое. Разбиваем нашу битовую последовательность на 11-символьные блоки:

Наконец, формируем строку и выводим ее на экран:

Ответ на то, что закодировано в таблице, приводить не буду, пусть это будет домашним заданием для читателей (использование готовых программ для смартфонов будет считаться читерством:).

В коде также не реализована проверка CRC, желающие могут сделать это самостоятельно.

Разумеется, алгоритм неидеален, и был написан за полчаса. Для более профессиональных целей есть готовые библиотеки, например pyzbar. Код с использованием такой библиотеки займет всего 4 строчки:

(предварительно нужно установить библиотеку, введя команду «pip install pyzbar»)

Дополнение: о подсчете CRC написал в комментариях пользователь vinograd19:

Интересна история контрольной цифры. Она возникла эволюционно.
Контрольная цифра нужна для того, чтобы избежать неправильного декодирования. Если штрихкод был 1234, а его распознали как 7234, то нужна валидация, которая предупредит замену 1 на 7. Валидация может быть неточная, чтобы хотя бы в 90% невалидные номера определялись заранее.

1-й подход: Давайте просто возьмем сумму. Чтобы в остатке от деления на 10 был 0. Ну то есть первые 12 символов несут информационную нагрузку, а последняя цифры подбирается так, чтобы сумма цифр делилась на 10. Декодируем последовательность, если сумма не делится на десять — значит декодировали с багом и нужно сделать это еще раз. Например, код 1234 — валидный. 1+2+3+4 = 10. Код 1216 — тоже валидный, а вот 1218 — нет.

Это позволяет избежать проблем с автоматикой. Однако в момент создания штрихкодов был фоллбек в виде набивания номер на клавишах. И там есть плохой кейс: если поменять порядок следования двух цифр, то контрольная сумма не меняется, и это плохо. То есть если штрихкод 1234 был вбит как 2134, контрольная сумма сойдется, а вот номер мы вбили неправильный. Оказывается, неправильный порядок цифр — это распространенный кейс, если стучать по клавишам быстро.

2-й подход. Хорошо, давайте сумму сделаем чуть сложнее. Чтобы цифры на четных местах учитывались дважды. Тогда при изменении порядка, сумма точно не сойдется к нужной. Например код 2364 валидный (2 + 3+3 + 6 + 4+4 = 20), а код 3264 — невалидный (3+ 2+2 + 6 + 4+4 = 19). Но тут оказался еще один плохой пример вбития. Некоторые клавиатуры такие, что десять цифр располагаются в два ряда. первый ряд 12345 и под ним второй второй ряд 67890. Если вместо клавишы «1» нажать правее клавишу «2», то контрольная сумма предупредит неправильный ввод. А вот если вместо клавишу «1» нажать ниже клавишу «6» — то может не предупредить. Ведь 6=1+5, и в случае когда эта цифра стоит на четном месте при вычислении контрольной суммы, мы имеем 2*6 = 2*1 + 2*5. То есть контрольная сумму увеличилась ровно на 10, поэтому ее последняя цифра не изменилась. Например контрольные суммы кодв 2134 и 2634 одинаковые. Та же ошибка будет, если мы вместо 2 нажмем 7, вместо 3 нажмем 8 и тд.

3-й подход. Ок, давайте что ли возьмем опять сумму, только цифры, стоящие на четных местах будем учитывать… трижды. То есть код 1234565 — валидный, потому как 1 + 2*3 + 3 + 4*3 + 5 + 6*3 +5 = 50.

Описанный способ стал стандартом вычисления контрольной суммы EAN13 за небольшими правками: число цифр стало фиксированным и равно 13, где 13-ая — это та самая контрольная цифра. Цифры на нечетных местах считаются трижды, на четных — один раз.

Заключение

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

Как подсказали в комментариях, наиболее популярным в торговле является код EAN-13, битовое кодирование там такое же, а структуру символов желающие могут посмотреть самостоятельно.

Если у читателей не пропал интерес, отдельно можно рассмотреть QR-коды.

Источник

Штрих код: что это, каким бывает и как используется

штрих код это определение

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

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

В статье разберемся, какие бывают штрих коды, по какому принципу они работают, и какие сведения содержат.

штрих код это определение

Штрихкод на товаре: для чего нужен

Штрихкоды используются для идентификации любых объектов учета. Они содержат информацию, которая помогает определить принадлежность товара к какой-либо категории, заданной пользователем (производителем).

Для чего нужен штрих код на товаре? Он предоставляет основные характеристики изделий, тем самым облегчает и ускоряет работу с ними на различных предприятиях.

Зачем нужен штрих код:

штрих код это определение

штрих код это определение

штрих код это определение

Виды и типы штрих кодов

Существуют два способа кодирования:

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

Линейный штрих код: описание, какие бывают

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

Штрихкод содержит закодированные по определенным стандартам текстовые и/или числовые данные. Их запись обеспечивается двоичной системой кодирования, где полосы обозначаются символом «1», а пробелы — «0».

Характерные особенности штрихкода:

Какие бывают 1D-штрихкоды (наиболее распространенные типы):

EAN — самый популярный тип линейных штрихкодов, используемый практически во всех торговых точках. Обычно кодировка состоит из 13 символов, но для небольших упаковок, где не хватает места для размещения полноразмерного кода, может использоваться EAN-8.

Цифры, расположенные под вертикальными штрихами, дублируют данные, зашифрованные в комбинации полос. Это нужно для того, чтобы при повреждении кода можно было получить информацию, вбив в учетную базу числовое сочетание.

Как выглядит штрих код EAN-13:

ITF-14 — обычно используется для учета оптовых партий товаров и организации складского хранения. Содержит 14 цифровых символов. Отличительная особенность кода — черная полоса по периметру, которая нужна для снижения вероятности неправильного чтения.

Двумерный штрих код: описание, какие бывают

Двумерный (2D-) штрихкод — изображение в виде прямоугольника или квадрата, которое считывается сразу в двух плоскостях. Такой способ шифрования позволяет экономить место на этикетке или упаковке и при этом хранить большой объем данных о товаре (до нескольких страниц текста). Применяется в торговле, в области документооборота, удостоверения личности, в складском учете, при маркировке товаров, транспортировке грузов и не только.

Характерные особенности кода:

На какие две распространенные группы делятся 2D-штрих коды:

QR-код — пожалуй, самый популярный тип. Он активно используется в торговле, рекламе, маркетинге, туризме, сервисах продаж электронных билетов и многих других сферах.

Любой QR-код содержит несколько обязательных элементов — 3 квадрата, благодаря которым сканер может определять положение рисунка, а также исправлять искажение.

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

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

штрих код это определение

Какую информацию несет в себе штрих код

Наиболее распространенная в России кодировка — EAN (13 или 8 символов). Второй вариант используется, когда нет физической возможности расположить на упаковке или товаре первый, расширенный тип.

Штрихкод включает:

первые 1–3 символа — код национальной компании, в чьих реестрах зарегистрирован производитель товара. Можно было бы сказать, что это информация о стране-производителе, но это не совсем корректно, поскольку регистрирующая организация может находиться в другом государстве.

Каждая страна имеет одну или несколько уникальных комбинаций кода, например, для России это 460–469, США и Канады — 00–13, Китая — 690–693. Номера присваиваются Международной Ассоциацией товарной нумерации (GS1).

вторые 4–5 цифр — номер регистрации компании-изготовителя. Он выдается национальным органом страны, в которой был произведен товар.

следующие 3–5 символов — сведения о товаре. Номер, под которым продукция занесена в базу данных компании-продавца. И уже в ней под порядковым номером со штрихкода зарегистрированы название товара, габариты, стоимость и другие характеристики.

последняя цифра — контрольное число, необходимое для проверки сканером подлинности товара.

поле, содержащее знак «>» — «свободная зона» (пустое пространство, по которому сканер определяет конец штрихкода).

Информация, зашифрованная в штрих коде, как правило, не предназначена для покупателей. Но с введением в России обязательной маркировки кодами Data Matrix, это изменилось. Теперь содержание штрихкода доступно для потребителей и является свидетельством качества продукции.

Какую информацию несет в себе штрихкод (что зашифровано в нем):

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

штрих код это определение

штрих код это определение

штрих код это определение

Что в штрихкоде стандартизировано

Что может быть стандартизировано в самом штрихкоде? Например, номинальные размеры кода. Для EAN ширина и высота символа составляют 37,29 мм и 25,93 мм, высота штриха — 22,85 мм. Стандарт позволяет пропорционально увеличивать элементы кода до 200% или уменьшать до 80% от указанных номинальных значений.

штрих код это определение

штрих код это определение

штрих код это определение

Преимущества работы со штрихкодами

Использование системы штрихкодирования имеет ряд преимуществ для компании:

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

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

Если компания занимается продажей продукции, подлежащей обязательной маркировке, порядок действий несколько сложнее. Для начала необходимо зарегистрироваться в единой системе прослеживаемости «Честный ЗНАК» при помощи электронной подписи, описать остатки товара в магазине и на складе (для розницы) и заказать на них коды Data Matrix, затем распечатать и наклеить на продукцию.

При реализации товаров кассир сканирует штрихкоды и выдает чек покупателю. Данные с онлайн-кассы автоматически поступают в «Честный ЗНАК», и коды маркировки выводятся из оборота.

Автоматизация работы со штихкодами и обязательной маркировкой с DataMobile

Чтобы работать с товарами, подлежащими обязательной маркировке, в соответствии с требованиями законодательства, необходимо грамотное программное обеспечение. DataMobile Маркировка — решение, разработанное специально для автоматизации учета товаров с кодами Data Matrix.

Софт позволяет:

Работать с ПО DataMobile Маркировка удобно благодаря быстрой интеграции с любой товароучетной системой, простой настройке галочками, понятному интерфейсу, поддержке большинства современных моделей сканеров штрихкодов и терминалов сбора данных (ТСД). Также важным преимуществом являются регулярные бесплатные обновления в соответствии с меняющимися требованиями законодательства. Чтобы выполнять операции с новыми категориями товаров, не нужно покупать или устанавливать другое ПО.

Функциональность софта можно расширять за счет перехода на старшую версию (по разнице в цене) и подключения дополнительных модулей (ЕГАИС, RFID, Конструктор).

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

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

Ссылки на материалы, законы, постановления, использованные в статье:

Источник

Что такое штрих-код.

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

Кстати, на нашем сайте вы можете cгенерировать штрих код по цифровому коду товара, воспользовавшись Генератором штрих кодов онлайн.

В РФ получили популярность штрих-коды именуемые JEAN-13 и EAN-8. Первый из них состоит из 13 цифр, второй – соответственно из 8.

То как выглядит код EAN-13.

штрих код это определение

На чем основано штриховое кодирование: Чтобы понять, что такое штрих-код, надо обратить внимание на чередующиеся черные и светлые полосы с различной шириной (штрихи и пробелы). Предназначены они для сканера, цель которого – расшифровать заложенную в эти штрихи и пробелы информацию и передать её на ПК. В современном мире, штриховое кодирование – одно из самых часто встречающихся средств для определения товара в автоматическом режиме. EAN – это метод шифрования, который приняла Европейская ассоциация товарной нумерации. Если упаковка маленькая, то в таком коде 8 цифр, в стандартной и большой упаковке – 13 цифр.

Более подробно об этих цифрах: Первые 2 или 3 цифры указывают страну, в которой был произведен товар. К примеру, 30 – это Франция, 520 – Греция, от 460 до 469 – Россия, 482 – Украина и т.д).

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

Стоящие следом 5 цифр – это тот код товара, даваемый ему самим производителем. Это независимый рег. номер, в рамках изготавливающего предприятия. Здесь сама компания кодирует данные, которые помогут идентифицировать эту единицу товара (его название, массу, размер, другие параметры)

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

штрих код это определение

В ширине штрихов и пробелов, в разнообразии их последовательностей также содержатся данные об уникальном коде. Так, к примеру, принятая для EAN-13 ширина всего кодового поля 37.29 мм, но пространство, занимаемое непосредственно штрихами и пробелами – 31.35 мм., т.к. вокруг них должно быть свободное пространство. По краям штрих-кода можно заметить чуть более длинные краевые штрихи – они дают сканеру понять, где начинать и где заканчивать работу.

Возможности штрих-кода.

Для понимания того, что такое штрих-код важно знать, что его функции не ограничиваются исключительно информационным значением. Есть ещё и дополнительные возможности:

Как проверять штрих-код.

Стоящая в самом конце цифра — именуется контрольным числом, а правильность его нанесения проверяется по алгоритму.

Перед вами представлен код EAN-8.

штрих код это определение

Вот как расшифровывается код EAN-8

Инструменты, с помощью которых считывают штрих-код:

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

В супермаркетах актуален кассовый сканер. Он хорош тем, что пространственное положение товара, равно как и расстояние до него не важны. Многолучевое сканирование даёт скорость, точность, а значит и удобство для покупателей. В такой установленный на кассе сканер встроен декодер, который сразу распознает, какая именно система кодирования применяется. Устройство это достаточно дорогое, поэтому и не является рентабельным для маленьких магазинчиков, зато в супермаркетах применяется повсеместно.

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

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

Штрих-коды наносят как в типографиях, так и наклеивают их в виде ярлыка. Размещают штрих-код как на заднюю стенку упаковки, так и на боковые стенки. Он должен располагаться в правом-нижнем углу, минимальное расстояние от краёв – 20 мм. Штрих-код не должен заслонять другую информацию на упаковке (текстовую, графическую и т.д.)

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *