Перейти к содержимому

Сканер QR-кода

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

Сканер QR-кода — это программный или аппаратно-программный компонент, который захватывает изображение матричного кода, локализует его границы, декодирует закодированную последовательность и передаёт результат операционной системе или приложению для дальнейшей обработки. В современных смартфонах сканирование интегрировано в штатное приложение камеры начиная с iOS 11 и Android 9, что избавляет от необходимости устанавливать сторонние программы.

Как работает распознавание

Процесс состоит из нескольких этапов: захват кадра, бинаризация изображения (перевод в чёрно-белое), поиск трёх угловых позиционных маркеров («квадраты в квадрате»), выравнивание перспективного искажения, декодирование модулей и исправление ошибок по алгоритму Рида — Соломона. Алгоритм соответствует стандарту ISO/IEC 18004:2015 и обеспечивает правильное чтение кода даже при повреждении до 30 % площади (уровень коррекции H). Подробнее об алгоритме читайте в статье про распознавание QR-кодов.

Современные сканеры работают в режиме реального времени — обычно 20–60 кадров в секунду. Расстояние чтения зависит от физического размера кода: рекомендуется, чтобы QR занимал не менее 10 % поля зрения камеры. Угол сканирования может достигать 45° от перпендикуляра без потери качества.

Типы сканеров и их применение

  • Встроенный в камеру смартфона — наиболее распространённый вариант, не требует действий пользователя, кроме наведения камеры.
  • Стационарный промышленный считыватель — используется на кассах, складах, производственных линиях; поддерживает 1D (штрихкод) и 2D (QR, Data Matrix) форматы одновременно.
  • Встроенный SDK в мобильное приложение — библиотеки ZXing, ZBar, ML Kit (Google) или Vision (Apple) позволяют интегрировать сканирование в любое приложение.
  • Веб-сканер через getUserMedia — браузерное решение на JavaScript; работает без установки приложения, подходит для веб-форм и PWA.

После декодирования сканер передаёт строку операционной системе. Если строка является URL, ОС предлагает открыть браузер; если это tel:, mailto: или smsto: — соответствующее приложение. Платёжные данные в формате EMV QR передаются банковскому приложению через системный Intent (Android) или Universal Link (iOS). Именно поэтому для динамических QR-кодов критически важно кодировать корректный и стабильный URL.

Чтобы создать код, который гарантированно читается любым сканером, воспользуйтесь онлайн-генератором QR-кодов. Узнайте также, как влияет дизайн на считываемость, в статье «QR-код с логотипом: дизайн и сканирование».

Частые вопросы

Почему смартфон не сканирует QR-код?

Чаще всего причина — недостаточный контраст или повреждение кода. Убедитесь, что код занимает не менее 10 % поля зрения камеры, поверхность не бликует, а сам код не смят и не покрыт грязью. Также проверьте, включено ли сканирование QR в настройках камеры: на некоторых Android-устройствах эту функцию нужно активировать вручную.

Нужно ли устанавливать отдельное приложение для сканирования?

На iPhone (iOS 11 и новее) и большинстве Android-смартфонов (Android 9 и новее) сканирование встроено в стандартное приложение камеры. Отдельные приложения нужны лишь на старых устройствах или если требуется расширенная функциональность: история сканирований, пакетная обработка, интеграция с CRM.

Безопасно ли сканировать QR-код незнакомого происхождения?

QR-код сам по себе не опасен — это просто носитель данных. Риск возникает, если закодированный URL ведёт на фишинговый сайт или автоматически запускает загрузку. Перед переходом по ссылке проверяйте предварительный просмотр URL, который показывает большинство современных сканеров. Не разрешайте автоматических действий (звонков, платежей) без проверки адресата.