У меня действительно странная проблема с обнаружением QR-кода.
TL; DR
Проще говоря, и ZBar, и ZXing не могут обнаружить QR-коды во многих изображениях.
Пример изображения .( Зеркало ).
На моем Mac у меня установлена zbar
через Brew.У меня есть zxing
настройка с использованием файлов JAR здесь .Оба не могут обнаружить QR-код в изображении примера.(Примечание: обнаружение работает для многих других изображений; я не делаю глупых ошибок при выполнении zbar или zxing.)
Но если я открою приложение " Barcode Scanner " на моем телефонеи держите его перед экраном моего ноутбука с указанным выше QR-кодом, приложение обнаруживает его.Кроме того, если я загружаю вышеуказанное изображение на zxing.org, он также обнаруживает QR-код.
Что может быть не так?
Длинная версия
У меня много физических листов бумаги с напечатанными действительными QR-кодами (аналогично примеруизображение выше).QR-коды обнаруживаются идеально, прямо с бумаги, используя любой сканер штрих-кода камеры мобильного приложения.
Затем я сканирую эти листы бумаги с помощью 2 сканеров с разрешением 300 DPI:
- Fujitsu ScanSnap S1300i
- Brother ADS-1500W
Выходной формат - JPG (никакой другой опции в программном обеспечении сканера обоих сканеров).
Когда я запускаю zbarНа любом изображении, полученном с помощью сканера Fujitsu (сканирование с использованием программного обеспечения ScanSnap), QR-код ВСЕГДА обнаруживается.
Когда я запускаю zbar (или zxing) на изображениях, созданных сканером Brother, обнаружение QR-кодаочень ударил и пропустил.
Фактический случай : Я отсканировал 31 лист на сканере Brother.Изображения здесь (не G-Drive зеркало с нетронутыми изображениями).Затем я написал скрипт для запуска каждого изображения и нашел в нем QR-код.Сценарий здесь .
Полный вывод сценария производится на пастбине здесь .
Сводка изображений сканера Brother:
Total number of images scanned: 31
Num images with ZBAR QR detected: 17
Num images ZBAR FAILED: 14
Num images with ZXING QR detected: 15
Num images ZXING FAILED: 16
Вы видите, что QR-код не обнаружен для многих изображений обоими программами.А для некоторых изображений только одно из двух программ успешно работает.Для многих других изображений оба успешны.
05161801.JPG
- это одно изображение из вышеуказанного набора, которое не было обнаружено обоими программами.Но то же изображение, загруженное на zxing.org, работает.Приложение сканера штрих-кода на моем телефоне также обнаруживает QR-код на экране моего ноутбука для этого изображения.
Подсказки
Тот факт, что обнаружение QR работает для тех же листовбумага, когда они сканируются с помощью сканера Fujitsu, говорит мне, что сканер Brother применяет некоторую постобработку, из-за которой обнаружение QR становится ненадежным (хотя это все еще не объясняет, как zxing.org работает с этими изображениями).Мне интересно, можно ли использовать imagemagick, чтобы заставить изображение работать с ZBar.Я попытался сделать некоторые "улучшения" с помощью Fred's textcleaner
сценария.Я еще не смог взломать его.
Я потратил МНОГО времени, пытаясь понять это.Буду признателен за любые предложения, предложения или решения.Спасибо!
ОБНОВЛЕНИЕ: добавление изображений ОДНОХ ЖЕ листов бумаги, отсканированных с помощью сканера Fujitsu
Вы можете загрузить нетронутых изображений из здесь .
Я запустил скрипт barcode_checker.py
(такой же, как выше) на этих изображениях Fujitsu.Как упоминалось ранее, QR-код обнаруживается в КАЖДОМ ОДНОМ ИЗОБРАЖЕНИИ!(ZXING в некоторых случаях терпит неудачу, но ZBAR на 100% успешен)
Полный вывод скрипта производится на pastebin here .
Сводка сканера Brotherизображения:
Total number of images scanned: 31
Num images with ZBAR QR detected: 31
Num images ZBAR FAILED: 0
Num images with ZXING QR detected: 26
Num images ZXING FAILED: 5