Очевидно, последовательность действий кагбэ такая:
1) определить, что нам под камеру сунули код. между суваниями кодов желательно проц грузить поменьше.
2) определить, что это за код: штрих-код, QR-код и т.п.
3) устранить перспективу (если сунули под углом), повернуть под нужным углом, смасштабировать под стандарт. Желательно учесть, что поверхность может быть не плоский (на бутылке или неровной упаковке)
4) распознать нормализованный код
5) если нормально распознали, то не сканировать повторно, пока его не уберут и не сунут другой. при этом поменьше грузить проц.
Какие подходы имеются и наиболее эффективны? Чужие сорцы с комментами, наверное, подошли бы, но и общая теория не помешала бы.