У меня сейчас проблема с обнаружением инвертированного QR-кода.
Проблема в том, что он хорошо распознает нормальный QR-код, но не инвертированный QR-код.
Я пытался найти решение в Google и StackOverflow, но большинство вопросов не имеют приемлемых ответов.
Я видел эту статью, и я думаю, что это может быть полезно, но я не знаю, как редактировать файл C ++.
Инвертировать пиксели — ZXING
Вот мой код
setContentView(R.layout.activity_simple_scanner);
setupToolbar();
ViewGroup contentFrame = (ViewGroup) findViewById(R.id.content_frame);
mScannerView = new ZBarScannerView(this);
contentFrame.addView(mScannerView);
Вот ссылка на образец инвертированного QR-кода imgae.
http://prntscr.com/dijmc8
Есть кто-нибудь, кто знает решение?
Посмотрел ваше изображение и безуспешно пробовал его на ZXing в Play Store.
Все, что я могу предложить, это проследить, чтобы код ZXing искал, где он обрабатывает кадры камеры. Обратите внимание, что изображение в формате YUV. (описание здесь: Как визуализировать изображение камеры Android YUV-NV21 на фоне в libgdx с OpenGLES 2.0 в режиме реального времени?)
Вам нужно будет поэкспериментировать, чтобы увидеть, какой тип затенения входного сигнала камеры потребуется для получения правильного контраста для обнаружения ZXing (или даже если это только конкретная «плоскость», которую ищет ZXing). На этом этапе вы выполняете фильтр изображений с камеры в реальном времени, который может быть выполнен на языке шейдеров OpenGL ES 2.0 или RenderScript или вашего собственного кода JNI C / C ++ по соображениям производительности. Смотрите этот сайт: http://www.bigflake.com/mediacodec/ и Графика проект https://github.com/google/grafika для общих деталей — в частности, CameraCaptureActivity
Дополнительное чтение:
Android: как отобразить предварительный просмотр камеры с обратным вызовом?
Других решений пока нет …