Как обнаружить (а потом - разобрать) QR-код с картинки в C#? - PullRequest
0 голосов
/ 10 апреля 2020

Сейчас я рассматриваю довольно сложную задачу - как определить QR-код на картинке? Я проверил такие решения, как ZXing. NET, даже некоторые проприетарные библиотеки. QR-код имеет замечательный шаблон - он всегда имеет три черных квадрата.

Нужно ли использовать нейронные сети и CUDA для распознавания QR-кода на картинке?

Я нашел похожий проект, который может быть полезен: https://www.codeproject.com/Articles/1250071/QR-Code-Encoder-and-Decoder-NET-Framework-Standard, но мне любопытно узнать общие принципы и концепции, лежащие в его основе.

Какие действия мне следует предпринять взять, чтобы отправить его на картинке, учитывая, что он может быть перекошен / повернут?

1 Ответ

2 голосов
/ 10 апреля 2020

В большинстве программ для компьютерного зрения это гораздо проще, чем все, что вы описываете.

QR-код черно-белый, и именно этот контраст имеет значение. QR-код имеет 3 большие черные точки по углам, которые используются для поиска QR-кода и ориентации. Это так называемые шаблоны поиска. Это изображение дает хороший обзор:

enter image description here Источник, который имеет большое объяснение концепции.

Подробнее о поиске / alignment

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

В сети много ресурсов. OpenCv (open computer vision) - это популярная библиотека с открытым исходным кодом для компьютерного зрения, может быть, там есть модуль QR-кода?

Вот пример реализации , который выглядит хорошо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...