У вас есть QR-код, и его никто не читает. Камера зависает, читатель крутится, и вы получаете ничего. Досадно — но QR, который не декодируется, почти всегда проваливается по одной из нескольких конкретных причин, и большинство из них можно исправить меньше чем за минуту. Вот как понять, на какую вы наткнулись.
1. Код слишком мал в кадре

Это самая частая причина с большим отрывом. QR-коду нужно достаточно пикселей, чтобы декодер разобрал его узор. Если код — маленький квадрат в углу большого скриншота или далёкая крапинка на фото, деталей просто недостаточно для чтения.
Исправление: Обрежьте ближе. Обрежьте картинку так, чтобы QR заполнял большую часть кадра, прежде чем пытаться декодировать. Код, заполнявший 5% скриншота, часто читается мгновенно, как только обрезан до 80%.
2. Он размыт или не в фокусе

Смазывание от дрожащего фото или мягкий фокус размазывают чёткие края, от которых зависит узор. Декодеру нужны резкие чёрно-белые переходы.
Исправление: Если это фото, переснимите, держа устойчиво, коснувшись кода для фокуса. Если это скриншот чего-то уже размытого, сделать можно меньше — но обрезать до кода и попробовать снова всё равно стоит, поскольку меньшая резкая область иногда декодируется там, где вся мягкая картинка не смогла.
3. Низкий контраст или странные цвета
QR полагается на чёткую разницу между тёмными модулями и светлым фоном. Выцветшая печать, код на пёстром фоне или стилизованный код, где «тёмное» — бледный цвет, могут упасть ниже порога.
Исправление: Предпочтите чёткую тёмную-на-светлом версию, если она есть. Хорошая новость про инвертированные коды, впрочем: правильный читатель пробует и нормальный, и инвертированный узор, так что светлый-на-тёмном (белый код на чёрном фоне) всё равно должен работать.
4. Блик, отражения или неровный свет
Фотографирование кода на глянцевой поверхности или экране часто кладёт яркое пятно прямо поперёк узора, стирая его часть. Съёмка экрана с экрана также ловит муаровую интерференцию.
Исправление: Смените угол, чтобы убить отражение, и целься в ровное освещение, а не одно яркое пятно. Если код на вашем собственном экране, пропустите камеру целиком — сделайте скриншот и декодируйте картинку напрямую.
5. Код повреждён или частично закрыт
У QR-кодов есть коррекция ошибок, и они могут пережить некоторое повреждение, но большая царапина, сгиб поперёк печатного кода, наклейка или палец, закрывающий угол, могут толкнуть его за пределы восстановимого. Три больших позиционных квадрата в углах особенно должны быть целыми.
Исправление: Если это физическое, разгладьте сгиб или очистите поверхность. Если часть действительно отсутствует, никакой читатель не выдумает данные обратно — вам понадобится чистая копия кода.
Декодируйте из картинки, а не с дрожащей камеры
Если код уже файл — скриншот, сохранённое фото, экспортированная графика — камера вам вообще не нужна. Чтение прямо из картинки полностью пропускает проблемы фокуса и блика.
Читатель QR-кодов от IMG.DIY берёт картинку, которую вы даёте, декодирует её в вашем браузере и показывает текст — автоматически пробуя и нормальный, и инвертированный узор, и уменьшая крупные картинки, чтобы они обрабатывались быстро. Всё работает локально; ничего не загружается.
Пара честных пределов, чтобы настроить ожидания: он читает один код на картинку, так что если на изображении несколько, обрежьте до нужного. И он работает из картинки, а не с живой веб-камеры — намеренный выбор ради полной локальности. Очень маленькие, размытые или сильно стилизованные коды могут сопротивляться даже хорошей обрезке; когда так, исправление почти всегда — более резкий, ближний, высококонтрастный снимок кода, а не другой инструмент.
