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

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

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

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

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

Современные сканеры работают в режиме реального времени — обычно 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.