Сканер 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.