Чтение инвертированных штрих-кодов в ZXing (ObjC)

Я использую порт ZXing для Objective-C в качестве плагина Cordova. Это работает хорошо, но одна проблема заключается в том, что не может прочитать перевернутые штрих-коды. Я попытался изменить источник, чтобы сделать это возможным:

  1. С помощью CIFilter инвертировать изображение и использовать его данные в качестве входных данных для ZXing
  2. Изменить значения светимости

Тем не менее, я нахожу, где происходит обработка видеокадров. Глядя через zxing-all-in-one.cpp файл, я вижу множество методов, где может происходить обработка, однако я вижу похожие методы в CDVBarcodeScanner.mmи комментирование тел методов все еще позволяет сканеру функционировать нормально.

По сути, я просто пытаюсь найти отправную точку. Если бы кто-то мог указать мне правильное направление, это помогло бы.

1 ответ

На ZXCapture есть инвертированный флаг, смотрите здесь:

См.: https://github.com/TheLevelUp/ZXingObjC/search?utf8=%E2%9C%93&q=invert&type=

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

Psuedocode например:

ZXCapture *capture = [[ZXCapture alloc] init];
capture.invert = YES;
[capture start];

Надеюсь, это поможет.

Другие вопросы по тегам