Скачать программу считывание штрих. Как создать приложение для считывания штрих-кода на андроид
В этом уроке научимся создавать приложение для чтения штрих-кодов и QR-кодов с использованием стандартной библиотеки Mobile Vision API.
Еще с выпуском Google Play services версии 7.8 разработчики добавили интерфейсы Mobile Vision, которые обеспечивают API для обнаружения штрих-кода. Они считывают и декодируют множество различных типов штрих-кодов, быстро, легко и локально.
Классы для обнаружения и анализа штрих-кодов доступны в пространстве имен com.google.android.gms.vision.barcode. Основной рабочей лошадкой является класс BarcodeDetector . Он выполняет обработку объектов Frame и возвращает массив штрих-кодов SparseArray
Тип Barcode представляет собой единый общепризнанный штрих-код и его значение. В случае 1D штрих-кодов, таких как коды UPC , это будет просто номер, который закодирован в штрих-коде. Его значение доступно в поле rawValue, в то время как тип штрих-кода (то есть его кодировку) можно найти в поле format.
Для 2D штрих-кодов, которые содержат структурированные данные, такие как QR-коды — в поле valueFormat устанавливается определенный тип значения, соответствующего полю данных. Так, например, если обнаружен тип URL , то поле valueFormat вернет константу URL, а объект Barcode.UrlBookmark будет содержать значение URL-адреса. Помимо URL-адресов, существует множество различных типов данных, которые QR-код может хранить. Например, почтовый адрес, дату и время события календаря, мероприятие в календаре, информацию контакта, номер телефона, местоположение на карте и другие данные, полный список которых приводится в документации. Ссылки на документацию .
Использование в приложении Mobile Vision API позволяет считывать штрих-коды в любом положении.
Важно отметить, что синтаксический разбор всех штрих-кодов выполняется локально, поэтому вам не нужно использовать соединение с сервером для чтения данных из кода. Например, при считывании линейного штрих-кода PDF-417 , который может вместить до 1 КБ текста, можно сразу же получить всю закодированную в нем информацию.
Итак, для разработки приложения нам понадобится:
- Среда разработки Android Studio
- Смартфон на Android 4.2.2 или более поздней версии
- Последняя версия Android SDK, включая компонент SDK tools. Вы можете получить его с помощью Android SDK Manager в Android Studio.
- Google Play Services SDK. Вы можете получить его также в Android SDK Manager в Android Studio.
Создаем новый проект в Android Studio. При создании выбираем шаблон Empty Activity.
На следующем шаге нужно убедиться, что ваше приложение может использовать службы Google Play, в состав которых входит Mobile Vision API. Для этого нужно обновить файл build.gradle вашего проекта.
В секции зависимостей должны быть такие строки. Обновите Gradle при необходимости.
Compile "com.android.support:appcompat-v7:25.0.0" compile "com.google.android.gms:play-services:9.8.0"
Службы Google Play часто обновляются, и чтобы получить последнюю версию, в Android Studio выберите инструменты > Android > SDK Manager.
Затем найдите строчку для сервисов Google Play и убедитесь, что у вас установлена версия 26 и выше. Если нет — установите компонент.
Теперь создадим пользовательский интерфейс.
В Android Studio выберите папку «res» и откройте ее вложенную папку «layout». Здесь вы увидите «activity_main.xml». Откройте его в редакторе макетов.
Вы можете видеть, что ваш макет содержит текстовое поле
По нажатию на кнопку будет происходить загрузка и обработка изображения штрих-кода, которое будет отображаться в ImageView. После завершения обработки штрих-кода информация, считанная из него, будет отображаться в TextView.
Обычно приложения для считывания штрих-кодов получают изображение с камеры устройства, или обрабатывают превью камеры. Для реализации этого потребуется достаточно много кода, и в конце урока я покажу пример реализации такого приложения. Чтобы упростить этот пример, мы обработаем готовое изображение qr-кода, которое уже присутствует в вашем приложении.
Вот пример изображения qr-кода, которое вы можете скачать отсюда.
Назовите его qr.png и добавьте в папку проекта res/drawable.Android Studio обеспечит доступ к файлу в качестве ресурса с идентификатором: R.drawable.qr
Теперь перейдем к написанию кода приложения.
В файле MainActivity.java в методе onCreate добавьте следующий код.
Button button = (Button) findViewById(R.id.button); btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { } });
Это настраивает обработчик событий (onClick), срабатывающий когда пользователь нажимает кнопку. Остальной код напишем в методе onClick.
Начнем с загрузки изображения штрих-кода. Сначала находим ImageView по идентификатору. Затем используется BitMapFactory для декодирования ресурса R.drawable.qr в растровое изображение. Полученное растровое изображение передаем ImageView.
ImageView myimageView = (ImageView)findViewById(R.id.imgview); Bitmap myBitmap = BitmapFactory.decodeResource(getApplicationContext().getResources(), R.drawable.qr); myimageView.setImageBitmap(myBitmap);
BarcodeDetector barcodeDetector = new BarcodeDetector.Builder(getApplicationContext()) .setBarcodeFormats(Barcode.DATA_MATRIX | Barcode.QR_CODE) .build();
Вполне возможно, что первый раз наш детектор штрих-код сработает, когда служба Google Play еще не будет готова для обработки штрих-кодов. Поэтому мы должны проверить, что наш детектор работает, прежде чем использовать его. Если нет, нам придется ждать окончания загрузки или сообщить пользователям, что нужно найти подключение к Интернету или освободить место на устройстве. Прежде чем мы обратимся к текстовому полю, нужно объявить и найти его выше в методе onCreate.
TextView txtView = (TextView) findViewById(R.id.txtContent);
Теперь допишем метод вывода сообщения.
If (!barcodeDetector.isOperational()) { txtView.setText("Could not set up the detector!"); }
Теперь, когда наш детектор создан и мы знаем, что он работает, создаем кадр из растрового изображения и передаем его детектору. Тот возвращает нам массив штрих-кодов SparseArray.
Frame frame = new Frame.Builder().setBitmap(myBitmap).build();
SparseArray
Обратите внимание, что Mobile Vision API способен обнаруживать несколько штрих-кодов в одном кадре. В этом случае массив SparseArray
Обычно на этом этапе нужно пробежать по массиву SparseArray и обработать каждый штрих-код отдельно. Нужно предусмотреть возможность, что штрих-кодов может быть несколько, или ни одного. В нашем случае мы знаем, что у нас есть только 1 штрих-код, и можем прописать жесткий код для него. Для этого мы берем штрих-код, называемый «thisCode», который будет первым элементом в массиве. Затем присваиваем значение его поля rawValue текстовому полю textView — и все.
Barcode thisCode = barcodes.valueAt(0); txtView.setText(thisCode.rawValue);
Теперь все, что вам нужно сделать, это запустить приложение.
Запускать лучше на реальном устройстве. На эмуляторе работать не будет, потому что на эмуляторах по умолчанию отсутствует сервис Google Play.
Вот приложение запустилось на устройстве, жмем кнопку. Если вы используете изображение штрих-кода qr.png, вы увидите в текстовом поле данные, закодированные в QR-код — это адрес нашего сайта .
Это был простой пример приложения, демонстрирующий работу Mobile Vision API. Но полноценный сканер штрих-кодов должен получать изображение с камеры устройства, или обрабатывать превью камеры.
Разработчики подготовили пример такого приложения на Github, вы можете скачать его код по ссылке .
Клонируйте или скачайте проект, и откройте в Android Studio модуль barcode-reader.
При запуске приложения из этого проекта мы можем увидеть, как оно работает. Первоначально открывается стартовый экран, на котором можно включить автофокус или вспышку. Кнопка считывания штрих-кода запускает камеру. Приложение отслеживает появление штрих-кодов на превью и рисует рамки на обнаруженных штрих-кодах. При нажатии на область обнаруженного штрих-кода превью закрывается, передавая при этом данные обнаруженного штрих-кода в текстовое поле на стартовом экране. Подробнее смотрите в .
Это приложение также использует Mobile Vision API. Но при рассмотрении проекта в Android Studio можно увидеть, что кода здесь побольше, чем в нашем простом примере.
Приложение состоит из восьми классов. Три из них отвечают за интерфейс и работу с камерой.
- Класс CameraSource предоставляет управление камерой для получения предварительного просмотра.
- Класс CameraSourcePreview отвечает за отображение превью на экране.
- Класс GraphicOverlay отображает графические объекты поверх связанного предварительного просмотра камеры.
- Класс MainActivity отображает стартовое окно с настройками и кнопкой запуска сканирования, и получает данные штрих-кода для размещения в TextView.
- Класс BarcodeTrackerFactory реализует паттерн «Фабрика» и используется для создания трекеров штрих-кода — по одному для каждого штрих-кода.
- Класс BarcodeGraphicTracker это трекер, который используется для обнаружения штрих-кодов на экране, и их отслеживания для наложения графики, а также удаления графики, когда штрих-код покидает зону видимости.
- Класс BarcodeGraphic используется для отрисовки экземпляра накладываемого на штрих-код изображения с учетом его положения, размера и идентификатора.
- Класс BarcodeCaptureActivity — это активити, которое запускается при нажатии кнопки считывания штрих-кода в стартовом окне приложения. Это активити отображает превью камеры и определяет штрих-коды на нем, выполнzет их считывание и наложение графических рамок на каждый штрих-код с помощью вышеперечисленных классов.
Я не буду в рамках этого урока углубляться в более подробное объяснение кода от разработчиков, а оставлю это вам в качестве домашнего задания. Тем более что код прекрасно документирован, каждый класс и метод содержит комментарии на английском языке. Читать и разбираться в таком коде очень полезно, особенно начинающему разработчику.
Штрих-кодов и QR-сканер позволяет при помощи Андроид распознавать штрих-коды и выводить получившееся изображение на экран устройства. На обработку данных уходит всего несколько секунд, однако приложению для полноценной работы требуется доступ к камере телефона.
Достоинства
Для того чтобы считать QR-код, достаточно запустить программу и навести камеру на изображение, после чего произойдет процедура декодирования. В случае, если была зашифрована ссылка на какой-либо сайт, книгу отзывов или онлайн-календарь, откроется соответствующая страница в браузере. Кроме того, когда расшифрованный код содержит контактные данные, вроде номера мобильного телефона или адреса электронной почты, приложение выдаст предупреждение и предложит самостоятельно выбрать действие. Среди других особенностей:
Штрих-кодов и QR-сканер можно использовать для пересылки важной и конфиденциальной информации, просто шифруя данные в штрих-код. После получения ее изображение достаточно просто удалить.
Также у программы открытый исходный код, что позволяет любому человеку изменять и дорабатывать некоторые функции приложения самостоятельно. Но следует учесть, что разработчики не будут нести ответственность, если приложение перестало работать после изменений, внесенных пользователем.
Заключение
Штрих-кодов и QR-сканер - это важное дополнение к любому мобильному устройству. QR-коды могут нести в себе огромное количество полезной информации. Многие конкурсы часто используют данный метод шифровки и без подобного приложения участвовать в них нельзя. Благодаря высокой скорости работы и регулярным патчам от разработчиков, приложение получило большую известность среди пользователей устройств на Андроид.
Очень простая программа для проверки подлинности штрих-кода.
Мы так часто сегодня покупаем всевозможные товары, что иной раз обращаем внимание только на срок годности (и то если это пищевой продукт:)).
Однако на всех вещах существует множество других меток. Это и всевозможные ГОСТы и номера товаров, и… штрих-коды. После развала Советского Союза все бывшие социалистические страны для того, чтобы показать свою «продвинутость» стали в срочном порядке перенимать у Запада все, что можно. Так в нашей стране на всем, чем можно вдруг появились эти непонятные полосатые метки.
Несмотря на то, что штриховые коды появились у нас только в конце 80-х — начале 90-х, придуманы они были в Америке еще в 50-х годах прошлого века. На сегодняшний день наиболее распространенной системой штрих-кодов является EAN-13.
Такой код состоит из 13 цифр (отсюда номер в названии кодировки) и ряда вертикальных полос разной ширины. Полосы расшифровываются только при помощи сканеров, а вот цифры мы можем проверить и сами.
Условно ряд цифр кода EAN-13 можно разбить на несколько частей: первые три цифры — код страны; следующие 4–6 цифр — регистрационный номер предприятия-производителя; следующие 3–5 цифр — код товара и последняя цифра — контрольное число.
Зная все это, можно легко проверить соответствие номера на штрих-коде заявленным на упаковке данным о производителе. А для того, чтобы не таскать с собой список кодов всех стран, достаточно использовать одну простую программу — BarCow .
Человек, создавший эту программу, видимо руководствовался принципом: «Все гениальное — просто». В этой программе Вы не найдете никаких настроек и меню. Более того, программу не надо устанавливать. Достаточно распаковать архив (а то и этого можно не делать) и BarCow готова к использованию!
Интерфейс BarCow
Вас сначала может несколько удивить дизайн программы, так как ее окно имеет довольно нетрадиционный вид, но Вы быстро привыкнете:
Здесь всего три кнопки: «Exit» — выключает программу, «Ok» — запускает проверку кода, а «About» вызывает окно справки:
Как видно из справки, программа умеет работать не только со стандартной кодировкой EAN-13, но и с менее распространенными стандартами, поэтому поможет Вам расшифровать практически любой штрих-код.
Работа с программой
Для начала введите в поле в главном окне номер кода, который подлежит проверке, после чего нажмите «Ok». В нижней части окна отобразится результат, в котором будет присутствовать информация о статусе кода и, при его правильности, страна, которой он принадлежит:
И первый же проверенный код заставил меня насторожиться. Дело в том, что я проверил купленный довольно давно диск с игрой Diablo II, на котором было четко написано, что он произведен на Украине (а конкретно там была указана одна компания из г. Харьков). Но, как Вы могли видеть, код на «фирменной» наклейке оказался немецким:).
Решив проверить ради интереса остальные диски, я наткнулся в своей коллекции на еще один уникальный экземпляр:). На этот раз им оказался караоке-диск с популярными когда-то песнями. Но если предыдущий код хотя бы существовал в природе (пусть и теоретически:)), то кто произвел сей видеодиск — загадка. Код оказался на 100% поддельным:
Выводы
Что тут еще сказать? Граждане, будьте бдительны:). Хорошо, если поддельный товар окажется работоспособным. А если это будет какая-то «заморская» еда, то можно легко и в больницу с отравлением загреметь. Поэтому, если есть подозрение на то, что Вам подсунули «липу» — скачайте нехитрую программку BarCow и проверьте номер штрих-кода покупки чтобы развеять (или подтвердить) свои опасения.
P.S. Разрешается свободно копировать и цитировать данную статью при условии указания открытой активной ссылки на источник и сохранения авторства Руслана Тертышного.
P.P.S. Сегодня компьютер помогает анализировать не только штрих-коды, но даже психологическое воздействие того или иного текста на человека! Не верите? Тогда скачайте вот эту программу:
Удобная бесплатная программа для считывания и создания QR-кодов (штрихкодов). Приложение позволяет считывать информацию QR-кода из графического файла, с экрана монитора и с веб-камеры. Также способна сама генерировать зашифрованный графический штрихкод из Ваших данных.
Системные требования:
Windows Server 2016(1) / 2012 R2 / 2012 / 2008 R2 / 2008 / 2003 R2 / 2003
Windows 10(2) / 8.1 / 8 / 7 / Vista / XP SP3
Support for 32-bit and 64-bit versions
NET Framework 4.0 or higher required
(1) If you can"t find the program after the installation, consult this KB article.
(2) If the program doesn"t work after upgrading to Windows 10 from Windows 7 or 8.1, you need to reinstall it.
Торрент Программа для считывания штрихкодов - CodeTwo QR Code Desktop Reader & Generator 1.1.1.17 подробно:
Возможности:
Программа CodeTwo QR Code Desktop Reader это очень удобное приложение, которое позволит Вам без использования специальных устройств получить всю зашифрованную информацию в штрихкоде формата QR-code.
Данный стандарт хранения данных давно завоевал популярность в различных сферах промышленности, торговли, транспорта и многих других. Он представляет собой матричный код (двумерный штрихкод) зашифрованный в графическом изображении небольшого размера. В такой картинке может содержаться текстовая информация достаточно существенного объема.
QR-code image
Для загрузки в программу изображения с QR-кодом использовать различные типы источников и методы.
CODETWO QR CODE DESKTOP READER ПОДДЕРЖИВАЕТ СЧИТЫВАНИЕ QR-КОДА:
С ЭКРАНА (FROM SCREEN)
Этот инструмент позволяет выделить с помощью курсора мыши определенную рабочую область экрана с изображением, в котором содержится QR-code. Например, если Вам необходимо раскодировать информацию со штрихкода размещенного на веб-странице.
С ВЕБ-КАМЕРЫ (FROM WEBCAM)
Для этого необходимо сфокусировать подключенную к компьютеру камеру на графическом изображении штрихкода.
ИЗ ФАЙЛА (FROM FILE)
С помощью проводника Windows указать на нужный файл цифрового изображения с зашифрованной QR-информацией. Поддерживаются BMP, JPG, TIFF, GIF и PNG форматы.
ИЗ БУФЕРА ОБМЕНА (FROM CLIPBOARD)
Программа распознает QR-данные из файла, который в данный момент находиться в буфере обмена.
QR-КОД ГЕНЕРАТОР
Программа CodeTwo QR Code Desktop Reader является не только инструментом для считывания QR-code, а также способна сама генерировать зашифрованный графический штрихкод из Ваших данных. Для этого нужно воспользоваться соответствующим пунктом главного меню приложения "Режим Генератор (Generator mode on)". В окне для ввода текста "QR code text" набрать необходимую информацию и сохранить получившееся изображение в один из форматов графических файлов "Save as".
генератор qr кодов
Максимальный объем современного стандарта кодирования QR-code вмещает:
Цифр 7089
Латинских символов 4296
Кириллица
В Windows-1251 кодировке 2953 символа
В UTF-8 кодировке 1450 символов
Чтобы получить сведения об интересующих товарах на полках магазина, не обязательно спрашивать о них продавца. Ведь, например, в супер- и гипермаркетах товаров тысячи - разве может человек всё держать в голове? Разобраться, что же именно привлекло ваше внимание, поможет ваш собственный смартфон. Нужно лишь заранее установить на него программу-сканер штрихкода и навести камеру на этикетку. Вся необходимая информация отобразится на экране: что за товар (точное наименование), кто его произвел, сколько весит, сколько стоит, не истек ли строк годности, продается ли он со скидкой и прочее.
Приложений для считывания и анализа штрих-кодов выпушено немало. Те из них, что пользуются наибольшей популярностью, поддерживаются несколькими операционными системами, многими устройствами, отличаются простотой и удобством в работе. Рассмотрим некоторые из них.
Один из наиболее известных сканеров и генераторов штрих-кодов. Способен безошибочно распознавать различные форматы данных - QR-Code, Quick Code, EAN 8/13, Data Matrix, Code 128, Code 39, а также полный список штрих-кодов 1D. Может стать помощником и советником при совершении покупок. Кроме того, он поможет в поиске сведений об отсканированном объекте в Интернете, даст возможность переходить по указанным в коде веб-адресам, звонить по номерам телефонов, отправлять письма, слать SMS, искать указанные места на карте, сохранять полученные данные в текстовом файле, а также создавать собственные 2D коды, который в дальнейшем использовать, где захочется.
Программа выпускается в стандартной и расширенной версиях. Стандартная лицензия дает право на бесплатное использование продукта.
QuickMark может работать как самостоятельное приложение и как расширение браузера Google Chrome. Поддерживается следующими платформами:
- Apple iOS;
- Android;
- Windows Phone;
- Symbian S60.
Работает на разных моделях смартфонов и планшетов, нетребователен к аппаратным ресурсам.
Простое, быстрое и удобное приложение, способное без дополнительных средств распознавать самые разные штрих-коды, в том числе и плохо читаемые: QR-Code, Data Matrix, Code 128, Code 39, EAN 8, UPC A, EAN 13. Поддерживает сетевой обмен текстовыми данными.
Благодаря своим достоинствам, ixMAT нашел применение в профессиональной сфере - с ним работают предприятия торговли, логистики, промышленные компании, органы государственного управления, а также коммерческие и некоммерческие организации разного рода деятельности. Приложение платное. Перед покупкой предлагается скачать для тестирования пробную версию.
Версии ixMAT разработаны для следующих платформ:
NeoReader
Уникальный сканер штрих-кодов, работающий по собственной запатентованной технологии ультра-Gavitec"s и NeoMedia, благодаря чему считывает и распознает практически все форматы существующих штрих-кодов: Aztec, Data Matrix, QR, EAN, UPC, Code128, Code39 и т. д. с разнообразных носителей - экранов электронных устройств, печатных изданий, рекламных щитов и всего прочего. При этом NeoReader весьма компактен - занимает минимум пространства накопителя (что довольно актуально для мобильных телефонов).
Программа может использоваться на разных устройствах и ОС:
- Android,
- Apple iOS;
- BlackBerry;
- Windows Mobile.
Стабильно работает на телефонах марки Nokia, Apple, Blackberry, Samsung, Motorola, Sony Ericsson.
Kaywa Reader
Так же как и вышеупомянутые аналоги, Barcode Scanner считывает самые разные типы штрих-кодов с помощью камеры мобильного телефона. Позволяет быстро получить всю закодированную информацию и сохранить ее в памяти устройства. Отсканированный код или данные из него можно пересылать по SMS, электронной почте, передавать через социальные сети.
Поддерживается смартфонами на базе Android и Apple iOS. Производителем гарантируется стабильная работа Kaywa Reader на множестве моделей Sony Ericsson, Samsung и Motorola.
Любое из перечисленных здесь приложений может использоваться и в торговле - наряду с профессиональными сканерами штрих кода http://www.crystals.ru/skaner-shtrih-koda и стать к ним удобным дополнением.