В большинстве программ для компьютерного зрения это гораздо проще, чем все, что вы описываете.
QR-код черно-белый, и именно этот контраст имеет значение. QR-код имеет 3 большие черные точки по углам, которые используются для поиска QR-кода и ориентации. Это так называемые шаблоны поиска. Это изображение дает хороший обзор:
Источник, который имеет большое объяснение концепции.
Подробнее о поиске / alignment
Данные в qr-кодах хранятся с некоторой избыточностью, поэтому одни и те же данные могут быть включены 3 раза, так что любые складки или повреждения в qr-коде все еще можно обнаружить.
В сети много ресурсов. OpenCv (open computer vision) - это популярная библиотека с открытым исходным кодом для компьютерного зрения, может быть, там есть модуль QR-кода?
Вот пример реализации , который выглядит хорошо.