Приложение для считывания QR-кода работает следующим образом: 2
- Запускается приложение со сканером QR на мобильном устройстве. 2
- Камера смартфона создаётся цифровое изображение кода таким образом, чтобы он оказался в рамке, которая отображается на экране. 2
- Приложение сразу же сканирует QR и показывает всю информацию, заложенную в коде. 2 Если это будет ссылка, то программа предложит открыть её в браузере. 2
Процесс считывания QR-кода включает несколько этапов: 3
- Компьютер выхватывает изображение QR-кода, накладывает на него трафарет-клеточку и на основании яркости каждой клеточки заполняет в памяти массив из бит, который в идеале является отображением реального QR-кода. 3
- Проверяется изображение на то, что оно — QR-код. 3 Для этого на всех QR-кодах есть характерные квадраты — они нужны, чтобы компьютер «зацепился». 3
- Читается системная информация, которая хранится в определённых регионах QR-кода. 3 Зоны между квадратами и контур толщиной два бита внутри получившейся Г-образной фигуры отданы под системную информацию. 3
- На основании полученной информации извлекаются данные об избыточности кода и маска. 3
- Маска «кладётся» сверху на QR-код. 3 Она представляет из себя ещё один набор битов, точно соответствующий по размеру самому QR-коду. 3
- Зона шириной в два бита по правой бровке QR-кода содержит заголовок и немного данных. 3 Читается справа-налево, снизу-вверх с учётом маски. 3 Получается код, указывающий на тип данных. 3
- Продолжается идти по заголовку, читается, в зависимости от типа данных следующие несколько бит (обычно около 8, зависит от типа данных), с помощью маски получается из них двоичное число — количество задействованных блоков, размер которых также определяется типом данных. 3
- После этого продолжается идти по бровке и записываться полученные биты, пока не будет считано (длина блока*количество блоков) битов. 3 Если вдруг дошло до части с системной информацией, то значит первый столбец закончился. 3 Нужно взять более левый столбик шириной два бита и читать его слева направо сверху вниз. 3 Если и этого столбика не будет достаточно, то нужно взять следующий столбик — ещё левее и работать с ним аналогично первому. 3
- Полученную последовательность делят согласно количеству бит и преобразовывают согласно таблице или иным способом в результирующие символы. 3
Также в приложениях-сканерах есть кнопка перехода в галерею, нажав на которую можно выбрать интересующий файл. 2 Далее происходит то же самое, что и при обычном сканировании: программа анализирует код и расшифровывает информацию, заложенную в нём. 2