Pull to refresh

Comments 18

Кстати, вопрос в тему. Какие библиотеки для распознавания баркодов (не QR) лучше всего работают при недостатке фокуса, освещения, под углом и т.п.?

Примерно про то же вопрос, как сделана читалка qr кодов от сбера, что она на том же телефоне уверенно читает коды, которые другие банки не видят?

Почему думаете, что в сбере читает лучше, чем в других банках? Подскажите, при сканировании в сбере вы сами наводите «прицел» сканера на код или обнаружение происходит автоматически без вашего ручного позиционирования границ QR-кода?

Я регулярно сканю здоровую ( много UTF-8) квитанцию напечатана. на плохом принтере ( тонер плывет) . Сбер почти не спотыкается на такой, с другими банками / программами упрыгаешься. Телефон один и тот же, увеличивать размер скана ( масштабировать пробовал), нет эффекта....

Но не услышал главного - при сканировании в сбере вы сами наводите «прицел» (рамку) сканера на код? Читаете прям камерой или из сохраненного фото/pdf?

сбер с камеры неплохо читает, другие нет, пробовал подсовывать ИМ экран монитора, фотографию...

Думаю без примера такого QR-кода и без теста тут сложно будет однозначно понять в чем именно разница. По моей информации, топ банки в РФ используют одну и ту же библиотеку в своих приложениях. Если пришлете пример такого QR, возможно смогу понять и рассказать вам в чем дело.

Например код сформирован под Сбер.
Т.е. там поля с нарушением договорённостей. И если взять обычный сканер, то спокойно считываешь и вручную заполняешь.
Про все не скажу, но Тиньков точно костылит подобные фокусы.

Скорее всего в Тинькофф запускается платеж по прямому договору с поставщиком – из QR-кода считываются нужные параметры (один/несколько), например, ИНН и затем открывается уже не перевод, а платеж который сопоставлен с этим ИНН, такая экранная форма содержит в себе уже гораздо меньше полей, чем в полноценном переводе по свободным реквизитам в адрес юридических лиц и т.д. Таким образом банк транзачит через заключенные прямые договоры или через агрегаторы, а не отправляет переводы. Так же это гораздо удобнее для клиента, так как не требуется ручной ввод такого большого количества полей.

Современные коды довольно сильно украшают, потому, мне кажется, правильнее искать не вершины, а грани квадратов. Чтобы находить эти опорные квадраты даже если их углы скруглены

Да, лютая дичь с этими украшениями. Иногда угловые квадраты заменяют вообще на круги. И мое приложение камеры на смартфоне их как QR код уже не распознает вообще. Дизайн в очередной раз изнасиловал здравый смысл.

вообще я заметил, что подобные "украшенные" коды обычно читаются пропиетарными ридерами. так, например, qr-код канала на тиктоке читается только тиктоковским ридером

но по поводу нахождения граней: можно, но не обязательно. ведь даже с скругленными краями у нас будет 4 черных равноудаленных пикселя у квадрата, просто они будут располагаться немного не там, где у обычных квадратов

Может проще и быстрее найти квадраты с помощью тех же библиотек cv2 и numpy а потом уже определять наличии QR кода в них.

тогда в принципе суть моего "исследования" пропадает, ведь тогда мы используем готовый алгоритм, а не пишем свой

Ничего не имею против исследований может найдешь быстрый алгоритм обнаружения QR кодов но сейчас уже и так минимум 2 модуля уже есть(OpenCV, zbar) которые справляются довольно быстро с эти делом, просто иногда им нужно помочь, если скажем есть лист A4 с QR кодом и он довольно посредственного качества то QR код может быть не найден, да я знаю что можно сразу сканировать в более высоком качестве но если у тебя в очереди каждый раз 100 тс и выше таких сканов то это займет довольно больше времени и ресурсов.

хотя, конечно, это очень спорный момент, ведь в будущем я скорее всего буду использовать готовый инструментарий opencv для подготовки менее качественных изображений к чтению qr

Sign up to leave a comment.

Articles