Почему повреждённый QR-код всё равно читается
Почему повреждённый QR-код всё равно читается
На QR-код наклеили ценник, часть квадратов стёрлась, а на упаковке появилась царапина. Наводим камеру — ссылка всё равно открывается. Со стороны кажется, что смартфон каким-то образом угадывает данные
В определённом смысле так и есть. В QR-код заранее добавляют избыточные данные, с помощью которых сканер может обнаружить ошибки и восстановить утраченную информацию. За этим стоит вполне конкретная математика.
Чёрные квадраты выполняют разные задачи
QR-код состоит из маленьких чёрных и белых элементов, которые называются модулями. Часть из них хранит закодированный текст, ссылку или другие данные. Но далеко не каждый квадрат относится к содержимому.
Три большие метки по углам помогают камере найти код, определить его размер и понять, как он повёрнут. Дополнительные служебные линии задают сетку, а выравнивающие элементы помогают читать изображение под углом или с небольшой деформацией.
Вокруг QR-кода также должна оставаться свободная белая область шириной не менее четырёх модулей. Она называется quiet zone и отделяет код от окружающего изображения.

Если закрасить несколько обычных модулей с данными, восстановление ещё возможно. Но повреждение крупной угловой метки или свободной области вокруг кода может помешать камере даже обнаружить его.
В код записывают больше данных, чем нужно
Предположим, QR-код содержит адрес сайта. Генератор не ограничивается байтами самой ссылки. Он вычисляет дополнительные кодовые слова и размещает их рядом с основными данными.
Для этого применяется код Рида — Соломона. Подобные методы коррекции используются там, где информация может повредиться во время хранения или передачи: например, на оптических дисках и в системах связи.
Если некоторые байты QR-кода прочитаны неправильно или полностью потеряны, оставшиеся данные вместе с проверочными значениями позволяют вычислить исходное содержимое. Сканер не угадывает ссылку по смыслу — он математически восстанавливает недостающие части.
Четыре уровня защиты
При создании QR-кода выбирается один из четырёх уровней коррекции ошибок. Уровень L способен восстановить приблизительно 7% кодовых слов, M — 15%, Q — 25%, а H — около 30%.
Повышенная надёжность достаётся не бесплатно. Чем больше проверочной информации нужно добавить, тем меньше места остаётся для полезных данных. QR-код может стать крупнее или получить более плотную сетку.
Поэтому максимальный уровень нужен не всегда. Для кода на экране обычно достаточно умеренной защиты. На коробке, производственной детали или уличном плакате логичнее оставить больший запас на грязь, потёртости и повреждения.
Тридцать процентов — не треть картинки
Фраза «QR-код можно уничтожить на 30%, и он продолжит работать» звучит удобно, но технически она неточна. Проценты относятся к восстанавливаемым кодовым словам, а не к любой выбранной области изображения.
Результат зависит от версии кода, расположения повреждения и сохранности служебных элементов. Небольшая царапина через область данных может оказаться безобидной, а пятно на угловой метке — полностью сорвать сканирование.

Имеет значение и качество изображения. Размытый код, слишком маленькие модули, слабый контраст или сильное перспективное искажение создают ошибки сразу по всей сетке. Формально квадраты остаются на месте, но камера уже не может уверенно отличить чёрное от белого.
Почему в центр QR-кода можно поставить логотип
Логотип поверх QR-кода намеренно закрывает часть модулей. Остальная информация и данные коррекции иногда позволяют компенсировать эту потерю — именно поэтому брендированные коды могут работать.
Обычно для такого дизайна выбирают уровень H, делают изображение достаточно крупным и не трогают угловые метки. Но одной буквы H недостаточно: слишком большой логотип всё равно уничтожит больше данных, чем сможет восстановить алгоритм.
Есть и ещё одна проблема. Код может уверенно читаться камерой одного телефона, но плохо работать на другом устройстве, при слабом освещении или после печати. Поэтому готовый вариант нужно проверять в реальных условиях, а не только в генераторе.
Почему QR-код оказался таким живучим
QR-код создавался для промышленности, где идеальные условия встречаются редко. Этикетки пачкаются, упаковки царапаются, а сканер смотрит на изображение под разными углами. Возможность восстановить данные была заложена в формат изначально.
Три угловые метки помогают найти сетку. Служебные элементы задают её геометрию. Код Рида — Соломона исправляет часть повреждённых данных. Все эти механизмы работают вместе.
Похожие записи
Оцените материал:
Похожие записи
Фрагменты человеческого гена BC200 обнаружили в геноме вируса
28.10.2026
Компания Disruptive привлекла 10 миллиардов долларов в фонд для крупных инвестиций как минимум в 10 компаний.
28.10.2026
Найдите злодея на фото: 8 промптов фотосессии на Хеллоуин, где за героиней следят
27.10.2026Присоединяйтесь и подпишитесь на рассылку самых свежих новостей по Email
Получайте свежие новости и идеи на почту. Без спама — только самое интересное.
Нажимая «Подписаться», вы соглашаетесь с политикой конфиденциальности.
