При реализации сканирования штрихкодов на мобильном устройстве встроенными методами 1С (СредстваМультимедиа) я был не удовлетворен качеством сканирования. Изучив не один десяток существующих мобильных сканеров в магазине приложений, я убедился, что качество сканирования может быть лучше, и оно определяется используемой технологией (библиотекой). Мое внимание привлекли следующие две: Zxing и Google Vision.
Zxing - реализует только базовые операции сканирования и не поддерживает более сложные условия сканирования, такие как изгиб и деформация. Тестирование будем выполнять на примере приложения Barcode Scanner, использующего эту библиотеку:
Google Vision - это недавняя библиотека, она быстрее и точнее, чем другие библиотеки. Тестирование будем выполнять на примере приложения Штрихкод Коммандер, использующего эту библиотеку:
Тестирование
При тестировании я выполнял каждое сканирование несколько раз и фиксировал лучшее время. Результаты могут отличаться от устройства к устройству.
В ходе тестирования обнаружились неприятные ограничения функционала:
- Barcode Scanner - сканирует только в горизонтальной ориентации
- Сканер 1С - автоматически включает вспышку в зависимости от освещенности и нередко мешает распознаванию, засвечивая штрихкод. Методов отключения вспышки мне найти не удалось.
Итоги
Штрихкод Коммандер | Barcode Scanner | Сканер 1С | |
Время сканирования 20 штрихкодов | 16 сек. | 25 сек. | 43 сек. |
Количество распознанных штрихкодов за 16 сек. | 20 из 20 | 12 из 20 | 7 из 20 |
Время сканирования 1 штрихкода |
0,886 сек. | 3,359 сек. | 1,112 сек. |
Время сканирования 1 мятого штрихкода | 1,033 сек. | не распознан | не распознан |
Ограничения | Гориз-ная ориентация | Авто-вспышка |
Примеры реализации мобильного сканера можно посмотреть в следующей статье.