Как найти приложение по qr коду. Читаем QR код

  • 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-кода ваше мобильное устр-во должно иметь камеру. Также на нем должно быть предустановлено специальное приложение, позволяющее считывать и распознавать QR-код.

QR-код — что это за зверь?

QR-код — двухмерный штрих-код, содержащий определенную информацию. Аббревиатура QR означает «quick response», что в переводе с английского — «быстрый отклик».

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

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

QR-код — взгляд в историю

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

Начались эксперименты с другими способами кодирования данных в графической картинке. В итоге в 1994 г. компания «Denso-Wave» (Япония) разработала QR-код. 10 лет назад в Японии QR-коды уже можно было увидеть на большом количестве товаров, упаковок и плакатов. Сегодня их размещают практически на всех товарах, в справочниках, буклетах. Быстрыми темпами развивается использование QR-кодов в Америке и Европе.

Как читать «квадратики»?

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

Для распознавания QR кода существует ряд программ. Для Android устройств наиболее популярной является Barcode Scanner. Телефоны с новыми версиями прошивок уже содержат ее. Если же у вас этого приложения нет, вы можете скачать его в Android Market.

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

Можно ли самостоятельно создать QR-код?

Однако нередко возникают ситуации, когда на странице с нужной программой QR-код отсутствует. В этом случае помогут генераторы такого кода. У нас на сайте вы можете воспользоваться онлайн . С его помощью сгенерировать код весьма просто. Всего лишь заполните форму и нажмите кнопку «Генерировать». Все. Ваш QR-код готов.

Двухмерные QR коды (англ. quick response - быстрый отклик) были разработаны в Японии компанией «Denso-Wave» в 1994 году для нужд автомобильной промышленности. Со временем QR-коды получили широкое распространение в самых различных областях благодаря эффективному способу хранения закодированной информации. В качестве самой информации может выступать что угодно: ссылки на сайты, телефонные номера, адреса электронной почты, тексты в несколько тысяч знаков.

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

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

Рассмотрим решение задачи по сканированию QR-кодов на примере приложений для наиболее популярных платформ смартфонов: iOS для iPhone и Android для мобильных устройств различных производителей.

Приложение для сканирования QR кодов на iPhone
Чтобы наделить iPhone возможностями для работы с QR кодами и производить их сканирование выполните следующие шаги.
Пример сканирования QR кодов на Android
На платформе Android работа с QR кодами ничем принципиально не отличает, от аналогичных действий на iOS.
Разумеется, что рассмотренное нами приложение далеко не единственная программа для сканирования QR кодов на мобильных устройствах. Вы можете сами попробовать другие приложениях и найти среди них наиболее удобный вариант.

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

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

Так что же такое QR-коды, зачем они нужны и как их читать? Как и его всем хорошо знакомый линейный штрих-код, QR-код представляет собой зашифрованную текстовую информацию. Впрочем, термин «зашифрованную» не совсем уместен, QR-код не является в полном смысле шифром, скорее это графическое представление текстовых данных, которое получило признание благодаря сжатию и компактности. Как-никак, QR-код может содержать до 4296 алфавитно-цифровых символов и всё это в небольшом графическом объекте со стороной в несколько сантиметров.

Как происходит сканирование QR-кода на Андроиде

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

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

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

Лучшие приложения для считывания QR-кодов

Хоть мы и употребили слово «лучшие», в действительности, наши предпочтения являются весьма субъективными по той причине, что всем не угодишь, и программа, приглянувшаяся одному пользователю, другому может показаться никуда не годной.

Итак, как отсканировать QR-код на Андроид? Начнем с того, что некоторые производители мобильных устройств встраивают в приложение «Камера» функцию сканирование QR-кодов. Включите вашу камеру, зайдите в настройки и посмотрите, есть ли в списке режимов съемки «Сканер» (ярлык будет иметь характерный вид). Если да, чудесно, тапните по нему и наведите камеру на QR-код. Встроенный модуль тут же прочитает данные и выведет их на дисплей. Элементарно, как дважды два.

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

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

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

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

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

Неплохое приложение от разработчика TeaCapps, позволяет сканировать штрих- и QR-коды на Андроид, отличается простотой, удобством и неплохим функционалом. Работает программа со всеми распространенными форматами кодов, включая Data Matrix, Aztec, UPC, EAN и Code 39, поддерживает чтение данных доступа к беспроводным сетям, сведения о местоположении, URL, контакты, события календаря, E-mail, SMS и MATMSG, данные MeCard, .

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

Завершает наш список приложение «QR код - сканер штрих кодов» от разработчика Best App – Top Droid Team. Примечательна эта программа прежде всего высокой скоростью считывания – коды в ней расшифровываются практически мгновенно, стоит только навести камеру. Инструмент работает с большинством типов данных, содержит встроенный генератор QR-кодов, поддерживает обмен и совместное использование кодов, выполнение релевантных действий при получении соответствующего содержимого, сохранение истории сканирований и поиск по ней. Для сканирования и распознания QR и штрих-кода подключения к интернету программа не требует.

Заключение

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

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

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

Софт, читающий QR коды, в сети представлен в большом количестве. Его без проблем можно скачать как с проверенных источников (например, с Play Market), так и со сторонних ресурсов. Однако наибольшее распространение и положительные отзывы получили следующие программы-сканеры:

Давайте разберемся, как сканировать QR код на Андроиде каждым из этих приложений.

Считывание QR шифра программой QR Droid

Чтение QR кода на Android с помощью данной утилиты производится следующим образом:

После распознавания шифра в отдельном окне высветится информация, которая была в нем закодирована, и возможные варианты дальнейших действий. Так, если к гаджету подключен интернет и вы хотите сразу же открыть ссылку, кликните Open. Для копирования ссылки, например, в браузер, нажмите Copy. Чтобы отправить данные на удаленное устройство, тапните Share.

Если вам требуется произвести считывание QR кода для Андроида не с реального объекта, а с картинки, сохраненной на смартфоне, в начальном окне программы нужно выбрать Decode saved QR image. Для считывания шифра с интернет сайта, нажимаем по кнопке, указанной на рисунке.

Использование программы QR&Barcode Scanner

Рассматривая, как сканировать QR коды на Андроиде, нужно выделить приложение QR&Barcode Scanner, которое умеет распознавать не только двумерные, но и одномерные шифровки. Еще одним преимуществом данного софта является то, что с его помощью можно генерировать свои коды, содержащие различный текст, SMS сообщения, адреса сайтов, заметки с календаря и т.п.

Программа работает следующим образом:


Создание своего QR шифра выполняется в разделе «Генерирование».