Создание qr кода онлайн с логотипом. Читаем QR код


Иногда возникают такие ситуации, когда нужно прочитать QR код, а смартфона под рукой нет. Что же делать? В голову приходит лишь попробовать прочитать вручную. Если кто-нибудь сталкивался с такими ситуациями или кому просто интересно как же читается QR код машинами, то данная статья поможет вам разобраться в этой проблеме. В статье рассмотрены базовые особенности QR кодов и методика дешифрирования информации без использования вычислительных машин. Решение задачи непосредственного чтения информации с QR-картинки рассмотрим на примере двух кодов.
Чтобы понять, как извлечь данные из кода, нужно разобраться в алгоритме. Существует несколько стандартов в семействе QR кодов, с их базовыми принципами можно ознакомиться в спецификациях. Кратко поясню: данные, которые необходимо закодировать, разбиваются на блоки в зависимости от режима кодирования. К разбитым по блокам данным прибавляется заголовок, указывающий режим и количество блоков. Существуют и такие режимы, в которых используется более сложная структура размещения информации. Данные режимы рассматривать не будем, в виду того, что извлекать вручную из них информацию нецелесообразно. Однако, основываясь на тех принципах, что описаны ниже, можно адаптироваться и к этим режимам. На случай некорректного чтения данных в QR применяются специальные коды, которые способны исправить недочёты при чтении. Это так называемые коды Рида-Соломона . Принцип вычисления кодов, а также исправление ошибок в блоках информации рассматривать не будем, это тема отдельной статьи. Корректирующие ошибки коды Рида-Соломона (RS) записываются после всех информационных данных. Это очень упрощает задачу непосредственного чтения информации: можно просто считать данные, не трогая коды. Как показывает практика, обычно бОльшую часть QR -матрицы занимают корректирующие RS-коды.

По стандарту, данные с RS-кодами перед записью в картинку «перемешиваются». Для этих целей используют специальные маски. Существует 8 алгоритмов, среди которых выбирается наилучший. Критерии выбора основаны на системе штрафов, о которых можно также почитать в спецификации. «Перемешанные» данные записываются в особой последовательности на шаблонную картинку, куда добавляется техническая информация для декодирующих устройств. Исходя из описанного алгоритма, можно выделить схему извлечения данных из QR кода:
Здесь зелёным фломастером подчёркнуты пункты, которые нужно будет реализовать при непосредственном чтении кода. Остальные пункты можно опустить в виду того, что считывание производит человек.

Шаг 0. QR код


Взглянув на картинки, можно заметить несколько отчётливых областей. Эти области используются для детектирования QR кода. Эти данные не представляют интереса с точки зрения записанной информации, но их нужно вычеркнуть или просто запомнить их расположение, чтобы они не мешали. Всё остальное поле кода несёт уже полезную информацию. Её можно разбить на две части: системная информация и данные. Также существует информация о версии кода. От версии кода зависит максимальный объём данных, которые могут быть записаны в код. При повышении версии – добавляются специальные блоки, например как здесь: По ним можно сориентироваться и понять какая версия QR перед вами. Коды высоких версий обычно также нецелесообразно считывать вручную. Размещение системной информации показано на рисунке:
Системная информация дублируется, что позволяет значительно понизить вероятность возникновения ошибок при детектировании кода и считывании. Системная информация – это 15 бит данных, среди которых первые 5 - это полезная информация, а остальные 10 – это BCH (15,5) код, который позволяет исправлять ошибки в системных данных. К классу BCH кодов относят и RS коды. Обратите внимание, что на рисунке две полоски по 15 бит не пересекаются.

Шаг 1. Чтение 5 бит системной информации

Как уже говорилось, интерес представляют только первые 5 бит. Из которых 2 бита показывают уровень коррекции ошибок, а остальные 3 бита показывают какая маска из доступных 8 применяется к данным. В рассматриваемых QR кодах системная информация содержит:

Шаг 2. Маска для системной информации

Кроме уже озвученных схем зашиты системной информации, в добавок, используется статическая маска, которая применяется к любой системной информации. Она имеет вид: 101010000010010 . Так как имеет интерес только первые 5 бит, то маску можно сократить и легко запомнить: 10101 (десять-сто один). После применения операции «исключающего или» (xor) получаем информацию. Возможные уровни коррекции ошибок:
L 01
M 00
Q 11
H 10
Возможные маски:
000 (i + j) mod 2 = 0
001 i mod 2 = 0
010 j mod 3 = 0
011 (i + j) mod 3 = 0
100 ((i div 2) + (j div 3)) mod 2 = 0
101 (i j) mod 2 + (i j) mod 3 = 0
110 ((i j) mod 2 + (i j) mod 3) mod 2 = 0
111 ((i+j) mod 2 + (i j) mod 3) mod 2 = 0

Шаг 3. Чтение заголовка данных

Чтобы понять с какими данными предстоит иметь дело, необходимо изначально прочитать 4-х битный заголовок, который содержит в себе информацию о режиме. Специфика чтения данных изображена на картинке:
Список возможных режимов:

Шаг 4. Применение маски к заголовку

После извлечения 4-х бит, описывающих режим, необходимо к ним применить маску.
В нашем случае для двух кодов используются разные маски. Маска определяется выражением, приведённым в таблице выше. Если данное выражение сводится к TRUE (верное) для бита с координатами (i,j) , то бит инвертируется, иначе всё остаётся без изменений. Начало координат в левом верхнем углу (0,0) . Взглянув на выражения, можно заметить в них закономерности. Для рассматриваемых QR кодов, маски будут выглядеть так: Получим режимы:

Шаг 5. Чтение данных

После получения данных о режиме можно приступать к чтению информации. Надо оговорить, что наиболее интересно считывать числовые и буквенно-числовые данные, так как они легко интерпретируются. Но также не стоит бояться 8-битных. Это может быть также легко интерпретируемая информация. Например, многие онлайн генераторы QR текст кодируют в этом режиме, используя . Ещё одна причина, почему следует изначально прочитать режим это то, что от него зависит количество пакетов данных. Которая также зависит и от версии кода. Для версий с первой по девятую длины блоков для более читабельных режимов: Первый блок после указателя режима – это количество символов. Для числового режима количество закодировано в 10 следующих битах, а для 8-битного режима в 8 битах (прошу прощения за тавтологию).
На рисунке видно, что в левом QR коде, как и отмечалось, записана цифра 5. Это видно по указателю количества символов и последующим после него 4 битам. В числовом режиме наряду с 10-битными блоками используются 4-х битные блоки для экономии места, если в 10-битном объёме нет необходимости. В правом коде, зашифровано 4 символа. На данный момент неизвестно, что зашифровано в нём. Поэтому необходимо перейти к чтению следующего столбца для извлечения всех 4-х блок информации.
На рисунке видно, все 4 пакета представляют собой коды ASCII латинских букв, образующие слово «habr» Естественно наилучшим способом остаётся достать телефон из кармана и, наведя камеру на QR-картинку, считать всю информацию. Однако в экстренных случаях может пригодиться и описанная методика. Конечно, в голове не удержишь все указатели режимов и типов масок, а также ASCII символы, но популярные комбинации запомнить (хотя бы те, что рассмотрены в статье) под силу.

Спецификация:

BS ISO/IEC 18004:2006. Information technology. Automatic identification and data capture techniques. QR Code 2005 bar code symbology specification. London: BSI. 2007. p. 126. ISBN 978-0-580-67368-9. P.S. Соблюдайте правила ресурса и условия Creative Commons Attribution 3.0 Unported (CC BY 3.0)
  • Tutorial

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

В статье рассмотрены базовые особенности QR кодов и методика дешифрирования информации без использования вычислительных машин.

Иллюстраций: 14, символов: 8 510.

Для тех, кто не в курсе что такое QR код , есть в английской Wikipedia. Также можно почитать тематический блог на Хабре и несколько хороших статей по смежной тематике, которые можно найти поиском .

Решение задачи непосредственного чтения информации с QR-картинки рассмотрим на примере двух кодов. Информация была закодирована в online-генераторе QR Coder.ru .

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

На случай некорректного чтения данных, в QR применяются специальные коды, которые способны исправить недочёты при чтении. Это так называемые коды Рида-Соломона . Принцип вычисления кодов, а также исправление ошибок в блоках информации рассматривать не будем, это тема отдельной статьи. Корректирующие ошибки коды Рида-Соломона (RS) записываются после всех информационных данных. Это очень упрощает задачу непосредственного чтения информации: можно просто считать данные, не трогая коды. Как показывает практика, обычно бОльшую часть QR -матрицы занимают корректирующие RS-коды.

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

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

Здесь зелёным фломастером подчёркнуты пункты, которые нужно будет выполнить при непосредственном чтении кода. Остальные пункты можно опустить ввиду того, что считывание производит человек.

Шаг 0. QR код

Взглянув на картинки, можно заметить несколько отчётливых областей. Эти области используются для детектирования QR кода. Эти данные не представляют интереса с точки зрения записанной информации, но их нужно вычеркнуть или просто запомнить их расположение, чтобы они не мешали. Всё остальное поле кода несёт уже полезную информацию. Её можно разбить на две части: системная информация и данные. Также существует информация о версии кода. От версии кода зависит максимальный объём данных, которые могут быть записаны в код. При повышении версии – добавляются специальные блоки, например как здесь:

По ним можно сориентироваться и понять какая версия QR перед вами. Коды высоких версий обычно также нецелесообразно считывать вручную.

Размещение системной информации показано на рисунке:

Системная информация дублируется, что позволяет значительно понизить вероятность возникновения ошибок при детектировании кода и считывании. Системная информация – это 15 бит данных, среди которых первые 5 - это полезная информация, а остальные 10 - это BCH (15,5) код, который позволяет исправлять ошибки в системных данных. К классу BCH кодов относят и RS коды. Обратите внимание, что на рисунке две полоски по 15 бит не пересекаются.

Шаг 1. Чтение 5 бит системной информации

Как уже говорилось, интерес представляют только первые 5 бит. Из которых 2 бита показывают уровень коррекции ошибок, а остальные 3 бита показывают какая маска из доступных 8 применяется к данным. В рассматриваемых QR кодах системная информация содержит:

Шаг 2. Маска для системной информации

Кроме уже озвученных схем зашиты системной информации, вдобавок, используется статическая маска, которая применяется к любой системной информации. Она имеет вид: 101010000010010 . Так как имеет интерес только первые 5 бит, то маску можно сократить и легко запомнить: 10101 (десять - сто один). После применения операции «исключающего или» (xor) получаем информацию.

Возможные уровни коррекции ошибок:

L 01
M 00
Q 11
H 10

Возможные маски:

000 (i + j) mod 2 = 0
001 i mod 2 = 0
010 j mod 3 = 0
011 (i + j) mod 3 = 0
100 ((i div 2) + (j div 3)) mod 2 = 0
101 (i j) mod 2 + (i j) mod 3 = 0
110 ((i j) mod 2 + (i j) mod 3) mod 2 = 0
111 ((i+j) mod 2 + (i j) mod 3) mod 2 = 0

Шаг 3. Чтение заголовка данных

Чтобы понять с какими данными предстоит иметь дело, необходимо изначально прочитать 4-х битный заголовок, который содержит в себе информацию о режиме. Специфика чтения данных изображена на картинке:

Список возможных режимов:

P.S. Соблюдайте правила ресурса и условия Creative Commons Attribution 3.0 Unported (CC BY 3.0)

P.P.S. Если ошибся блогом, то подскажите куда - перенесу.

Теги: Добавить метки

  • Определите вашу целевую аудиторию.
  • Сгенерируйте качественные коды и протестируйте, как они считываются различными устройствами.
  • Убедитесь, что коды размещены на ровной поверхности, где их можно отсканировать.
  • Простимулируйте клиентов сканировать QR-коды, предложив им за это скидки или бонусы.
  • Разместите QR-коды в разных местах. Проведите A/B тестирование и узнайте, откуда приходит больше клиентов.

Применение QR-кодов в бизнесе

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

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

  • повысить лояльность клиентов к бренду;
  • проводить маркетинговые исследования в различных географических точках продаж;
  • повысить посещаемость сайта или странички компании в социальных сетях;
  • повысить уровень продаж;
  • оценить заинтересованность покупателей в продукте;
  • защитить свою продукцию от подделок;
  • повысить узнаваемость бренда;
  • пополнить свою клиентскую базу.

5 примеров использования QR-кодов:

  1. Печать на товарах

  2. Размещение на сайте

  3. Наружная реклама: билборды, витрины магазинов, рекламные плакаты

  4. Размещение в местах скопления людей: остановки, метро, автобусы и т.д.

    Разместите QR-код в местах скопления людей. Заинтересуйте пользователей уникальным предложением и проанализируйте их отклик. Анализ статистики сканирований кода позволит определить географическое местоположение наиболее заинтересованной аудитории.

  5. Вирусный маркетинг и QR-коды

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

Как отсканировать QR-код?

Чтобы расшифровать QR-код:

  1. Возьмите мобильный телефон или планшет с камерой.
  2. Cкачайте и установите сканер QR-кодов. В зависимости от операционной системы вашего устройства выберите источник установки QR-ридера. Ниже приведены ссылки на приложения из App Store, Google play, Windows Phone Store и Amazon Apps.
  3. Запустите приложение на вашем устройстве, наведите объектив камеры на QR -код - получите информацию.
Обратите внимание Mobizon не является разработчиком данных приложений. Ссылки на приложения приведены исключительно в информационных целях. Вы можете выбрать и установить на свой телефон или планшет любое другое понравившееся вам приложение. В случае возникновения проблем с работой приложения на вашем устройстве, пожалуйста, обращайтесь к разработчикам приложения.

Удобная бесплатная программа для считывания и создания QR-кодов (штрихкодов). Приложение позволяет считывать информацию QR-кода из графического файла, с экрана монитора и с веб-камеры.

Программа CodeTwo QR Code Desktop Reader это очень удобное приложение, которое позволит Вам без использования специальных устройств получить всю зашифрованную информацию в штрихкоде формата QR-code.

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

Для загрузки в программу изображения с QR-кодом использовать различные типы источников и методы.

CodeTwo QR Code Desktop Reader поддерживает считывание QR-кода:

С экрана (From Screen)

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

С Веб-камеры (From webcam)

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

Из файла (From file)

С помощью проводника Windows указать на нужный файл цифрового изображения с зашифрованной QR-информацией. Поддерживаются BMP, JPG, TIFF, GIF и PNG форматы.

Из буфера обмена (From clipboard)

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

QR-код генератор

Программа CodeTwo QR Code Desktop Reader является не только инструментом для считывания QR-code, а также способна сама генерировать зашифрованный графический штрихкод из Ваших данных. Для этого нужно воспользоваться соответствующим пунктом главного меню приложения "Режим Генератор (Generator mode on)". В окне для ввода текста "QR code text" набрать необходимую информацию и сохранить получившееся изображение в один из форматов графических файлов "Save as".

Максимальный объем современного стандарта кодирования QR-code вмещает:

  • Цифр 7089
  • Латинских символов 4296
  • Кириллица
    • В Windows-1251 кодировке 2953 символа
    • В UTF-8 кодировке 1450 символов

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

Код типа «quick response» может считать каждый. Информация, которую он заключает в себе, также различна. Это ссылки, слоганы, адреса и телефоны, названия компаний, географические координаты и прочее. В пользу данного типа шифрования говорит его компактность и «нейтральность», удобство в использовании за счет значительного распространения портативной техники. Практически любой современный смартфон может понять QR-код посредством встроенной или устанавливаемой программы. Самые популярные из них называются QR Droid Code Scanner (для Андроида), Kaywa reader или QuickMark (для операционной среды Symbian OS V9 или Windows Mobile), iMatrix для Mac-техники, BeeTagg для Блэкбэрри, Plam OS и простых телефонов на Java. “Nokia barcode reader” примечателен тем, что поддерживает управление с тачскрина и быстро справляется даже с нечеткими или поврежденными изображениями. Скачать программы для распознавания шифра проще всего на сайте разработчиков или в таких авторитетных онлайн-ресурсах, как “Магазин Windows “, “Google Play” , “App Store” . Это гарантирует безопасность пользователя и бесплатное получение ПО. Итак, выбираем программу, устанавливаем так, как указано на инструкции к ней, запускаем и находим нужный КьюАр-код. Далее наводим камеру на картинку, которая распознается автоматически или после сохранения снимка. Информация тут же обрабатывается избранным приложением и выводится на экран. Ссылки на сайты обычно открываются в браузере.


При желании QR-код можно создать самостоятельно. Для этого даже не потребуется стороннего программного обеспечения, так как некоторые сайты предлагают провести шифрование онлайн. К примеру, поэкспериментировать с кодировкой можно посредством букмарклета на QRCoder.ru. Сервис позволяет зашифровать смс, визитку, послание, ссылку в виде картинки лишь с помощью смартфона и его камеры. Сообщение может содержать до 7089 цифр, 4296 латинских и 1450 кириллических букв, 1817 иероглифов. Размер изображения колеблется от 21х21 до 177х177 пикселей.С другой стороны, самый гигантский КьюАр, занесенный в книгу рекордов Гиннесса, занимает около 3-х гектар и находится на кукурузном поле в Канаде. Современная сфера использования QR настолько широка, что их даже начали печатать на футболках. Весьма удобно отсканировать такой шифр, моментально получив ссылку на страницу в социальных сетях или даже телефон. Создать расширенную версию кода для знакомств поможет QrRussia.RU.


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

Поделиться: