Как называется приложение которое распознает штрих коды. Программа для считывания QR-кодов для Android
В конце 90-х годов прошлого столетия Японию захватила волна моды на штрих-коды. Информации,зашифрованной в обычном штрихе перестало хватать — так на свет появился его более продвинутый последователь — двумерный штрих-код или QR-код. Период его расцвета пришёл на 2000-е годы, когда его «лепили» везде где можно и нельзя.
Сейчас, конечно, мода на это значительно спала, но, тем не менее, используют его часто. Но если на телефонах и планшетах со сканированием и распознаванием КюАр кода проблем нет, то с компьютерами и ноутбуками все несколько сложнее.
Есть несколько способов сканировать QR код на компьютере чтобы прочитать его. Я расскажу о каждом из них, а Вы уже выберите тот, который будет удобнее использовать в Вашем случае.
1. QR код-сканер онлайн
Самый простой способ расшифровать QR на компьютере либо ноутбуке, не требующий установки программ, библиотек и т.п. Нужен лишь доступ в Интернет чтобы зайти на сайт decodeit.ru. Этот простой и в то же время функциональный ресурс позволяет делать на ПК все необходимые операции — прочитать и расшифровать КюАр-код, подсунув файл с его изображением.
Здесь Вы так же сможет создать свой двумерный штрих-код. Для этого необходимо всего лишь ввести ссылку или текст в поле «Создать QR код Онлайн» и нажать кнопку «Отправить». На экране появится изображение, которое надо будет сохранить на компьютер и переслать адресату.
2. Программа для чтения QR кодов
Ещё один отличный способ прочитать двумерный штрих-код на компьютере и распознать его — это бесплатная программа CodeTwo QR Code Desktop Reader. Единственное ограничение — она способна прочитать не все коды — есть и те, которые ей не под силу.
Утилита требует установки в систему, после чего автоматически запустится.
Далее надо открыть файл с с QR-кодом или зайти на страничку в Интернете, откуда его надо сканировать. Снова переходим к приложению и нажимаем на кнопку «From screen».Теперь надо мышью выделить КюАр рамкой, после чего отпустить кнопку. Теперь программа сама расшифрует его,прочитает его и выдаст результат.
Сегодня кьюар коды знакомы многим людям. Их можно встретить на упаковках различных товаров, в журналах, рекламных проспектах и т. д. При этом они имеют некоторые отличия от простого штрих-кода, распознавание которого возможно только с помощью луча, расположенного строго в горизонтальной плоскости объекта. Чтобы расшифровать заложенную в QR-code информацию, достаточно установить на мобильный девайс специальное приложение - сканер штрих-кодов на Андроид.
QR-код (Quick Response) на русский язык можно перевести как «быстрый отклик». Он представляет собой базу данных, аналогичную штрих-коду. Основное различие между ними заключается в способе кодировки информации. Если в штриховом коде для этого используются полоски, то в QR - квадраты. С помощью специального софта можно зашифровать абсолютно любую информацию.
Например, организация может таким способом закодировать адрес своей страницы в интернете, разместив после этого готовый код на упаковке товара.
В результате пользователь сможет отсканировать его с помощью программы для считывания QR-кодов для Андроид и быстро перейти на веб-ресурс. Это значительно удобнее, чем самостоятельно вбивать все нужные символы в браузер.
Лучший софт
Для чтения кодов на телефон достаточно установить специальное приложение - QR-сканер для Андроид. Эта программа имеет небольшой размер, а для ее инсталляции не требуется много памяти.
Это один из самых популярных сканеров QR-кодов для Андроид, о чем говорит его количество загрузок с сервиса Google Play. Работать с программой очень просто, хотя некоторые пользователи говорят о не самом удобном интерфейсе. Чтобы сканировать, достаточно лишь запустить утилиту, а затем навести камеру смартфона на QR-код. Нажимать на кнопки или делать снимок не нужно.
Если в коде был зашифрован URL-адрес, то автоматически запустится браузер, после чего пользователь попадет на заданный веб-ресурс. Когда кодировке подвергся текст, его можно будет сразу увидеть. Среди преимуществ программы можно отметить:
- Возможность просматривать карту и историю последних сканирований.
- Переключение между основной и фронтальной камерой для работы.
- Автоматический переход на веб-ресурс, зашифрованный в коде, с помощью установленного по умолчанию браузера.
- Поддержка всех популярных типов штрих-кодов.
- Синхронизация истории сканирования через интернет с любыми устройствами.
- Если в телефон встроен фонарик, тогда его можно включить с помощью специальной кнопки для сканирования в условиях слабой освещенности.
Это приложение получило высшие оценки от нескольких авторитетных изданий и веб-ресурсов. Вся полученная штрихкодовым считывателем информация помещается в облако, что позволяет пользователю в любой момент просмотреть ее на другом гаджете. Приложение может работать не только с основной, но и с фронтальной камерой. Благодаря функциям вспышки и фокусировки работа с кодами значительно упрощается.
Специально для начинающих пользователей scanner имеет встроенную систему подсказок. Чтобы воспользоваться ими, достаточно кликнуть на вопросительный знак, расположенный в правой нижней части дисплея.
Кроме этого, утилита позволяет создавать собственные QR-коды. Приложение имеет много преимуществ, среди которых стоит отметить несколько основных:
- Есть доступ к истории.
- При считывании информации раздается приятный звуковой сигнал.
- Возможна синхронизация с платформой Android Wear.
- Можно выбрать один из двух механизмов работы с двухмерными кодами - ZXing либо Zapper.
Молния QR-сканер
Утилита способна справиться со всеми популярными видами кода, например, с UPC, ISBN, EAN и даже матрицами данных. Благодаря опции масштабирования работать с QR-кодами небольших размеров стало значительно удобнее. Также стоит отметить высокую скорость работы. О популярности приложения говорит самая высокая оценка пользователей в магазине Google среди аналогичных программ. Стоит обратить внимание еще на несколько возможностей утилиты:
- Для сканирования пользователю необязательно выравнивать гаджет, программа не допускает ошибок в работе.
- Интегрирован журнал, в котором доступна информация по всем предыдущим сканам.
- Можно включить фонарик, если он встроен в смартфон.
- Если пользователь обладает хорошими знаниями в программировании, он может получить бесплатный доступ к коду утилиты.
Code Reader
Этот QR-код сканер для Андроид позволяет выводить на дисплей зашифрованный текст либо открывать ссылки в браузере. Если работать с кодом приходится в условиях слабой освещенности, тогда можно включить фонарик прямо из программы. Эта утилита считается одной из самых быстрых. Все программы для считывания штрих-кодов для Андроид обладают довольно простым интерфейсом, но QR Code Reader смог обойти многих конкурентов.
Как только утилита будет запущена, на экране появится поле сканирования. После наведения камеры на код достаточно коснуться экрана, чтобы код был считан. Никаких настроек не предусмотрено, так как они просто не нужны. Следует заметить, что утилита отлично работает и без соединения с интернетом, но для некоторых приложений выход в сеть является обязательным условием для сканирования.
Программа для жителей СНГ
Именно такую цель преследовали сотрудники компании Geeks Lab 2015, разрабатывая свой QR-сканер штрих-кода. В приложение была интегрирована большая база кодов России, Беларуси, Украины и других государств постсоветского пространства. Программа отлично справляется со ссылками, которые могут содержаться в коде. После их расшифровки автоматически выполняется переход на веб-ресурс прямо в приложении.
Многие пользователи, использовавшие этот софт, отмечают хорошо продуманную организацию журнала сканирований.
Утилита Комбайн
Эта программа рассчитана на представителей бизнеса. Благодаря ее применению больше не придется приобретать специальное считывающее оборудование. Программа позволяет в короткие сроки собрать всю важную информацию о товарах, а также вести их точный учет. После сканирования кода вся информация может быть внесена в специальный софт, например, в 1С. Для этого достаточно в бухгалтерской программе отметить галочкой соответствующий пункт.
Пользователю не придется долго настраивать сканер, так как он работает в автоматическом режиме, но при этом возможность ручного ввода тоже присутствует. Разработчики постарались сделать систему поиска кодов максимально удобной. Отдельно стоит сказать о режимах работы утилиты:
В магазине Гугл можно найти большое количество софта, предназначенного для считывания кодов. Практически все программы поддерживают наиболее распространенные форматы, однако встречаются утилиты, рассчитанные на определенную категорию пользователей.
– программа, которая умеет считывать QR коды и расшифровывать их содержимое. В настоящее время, данные коды стали очень распространены. Поэтому каждому пользователю будет полезно, чтобы у него было подобное приложение. Ведь в них зашифровывают самую разнообразную информацию. Это может быть какая информацию о событиях, концертах и акциях. Также может бысть другая полезная инфомация. Другими словами, уметь считывать такие коды будет очень полезно.
Сканирует программа естественно через камеру смартфона или планшетного компьютера, так что как это делать, думаем всем понятно. Просто поднесите код в рамки сканера и приложение автоматически начнет его сканировать. После этого программа покажет вам текст, которые был зашифрован в таком коде. Именно в этом и есть смысл данных кодов. Они пришли на замену старым штрих-кодам, которые имеют ограничения по количеству информации, которая может быть зашифрована.
Благодаря тому, что программа проделывает свои операции очень быстро и четко, она получила множество положительных отзывов от пользователей. Все они с радостью скачивают ее и пользуются каждый день. В ней есть меню истории, в которой хранятся все ранее расшифрованные коды, поэтому всегда есть возможность прочитать эту информацию. Также приложение не занимает много места, поэтому вам будет очень просто использовать ее.
В итоге, – очень полезное приложение, которое поможет вам быстро получать информацию их QR-кодов. С такой программой вам не страшен ни один код, она все расшифрует и вы сможете быстро прочитать нужную информацию.
В этом уроке научимся создавать приложение для чтения штрих-кодов и 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 reader – специальная программа, предназначенная для расшифровки двоичных кодов. Этих программ – огромное множество, и их выбор зависит от нескольких критериев. Прежде всего, необходимо ориентироваться на тип операционной системы, поддерживаемой Вашим устройством. На сегодняшний день декодирующие программы разработаны для большинства телефонных «операционок» – есть специальное обеспечение и для Mobile MAC OS X, и для Windows Mobile, и для Google Аndroid, а также для Symbian и BlackBerry; существуют и отдельные программы, приспособленные для компьютерных версий Apple, Linux и Windows.
Выбирая программу, способную производить считывание QR-кода, следует учитывать и модель мобильного устройства, на которое ее предстоит установить. Также имейте в виду, что «ридеры» могут различаться наличием дополнительных функций. Отдельное внимание следует обратить на то, поддерживает ли конкретная программа для расшифровки QR-кода Unicode – это бывает не всегда.
Когда программа установлена, можно осуществлять чтение QR-кода. Процесс этот не представляет сложности даже для того, кто делает это в первый раз – необходимо лишь соблюсти пошаговую инструкцию:
- Запустите программу, при помощи которой планируется распознать QR-код.
- Дождитесь активации фотокамеры вашего мобильного устройства.
- Наведите фотокамеру на QR-код. При этом соблюдайте одно из важных условий: если двоичный код небольшой, камера должна находиться на расстоянии 15 см от него.
- Отрегулируйте размер и четкость изображения на экране. Для этого используйте цифровой зум, которым оснащены все современные фотокамеры в мобильных устройствах. После регулировки изображения QR-код должен находиться по центру экрана и иметь четкие очертания.
- Ожидайте. Проанализировав QR-код, «ридер» самостоятельно выдаст вам информацию о его содержимом. Если этого не произошло, нажмите на кнопку Snapshot, чтобы произвести активацию сканера.
- Если ничего не изменилось, повторите попытку, при помощи зума поменяв расстояние до сканируемого QR-кода.
Для того чтобы успешно расшифровать QR-код, соблюдайте следующие правила:
- Следите за освещением.
- Обеспечьте максимальную неподвижность телефона во время расшифровки QR-кода – тряска способна воспрепятствовать процессу сканирования.
- Мобильное устройство должно находиться под прямым углом к одной из сторон QR-кода.
- Телефон необходимо держать на одной высоте с двоичным кодом.
Как только сканирование завершено, на экран устройства будет выведено предложение совершить какое-либо действие, зашифрованное в QR-коде – это может быть отправка sms или email, переход по ссылке, команда совершить звонок, сохранить контактные данные, опубликовать что-либо в социальной сети и т.п.
Операционная система | Модели телефонов | Программы для распознавания | |
Windows Mobile | Все современные модели HTC, Asus, Acer | ||
Mobile Mac OS X | Модели: Apple iPhone, Apple iPhone 3G | ||
Mobile Java | Все телефоны, поддерживающие Java | ||
Android | Все современные модели Android | ||
Symbian OS V9 | Модели: Nokia 3250, Nokia 5500, Sport Nokia E50, Nokia E5, Nokia E60, Nokia E61, Nokia E61i, Nokia E62, Nokia E65, Nokia E70, Nokia N71, Nokia N73, Nokia N75, Nokia N77, Nokia N80, Nokia N91, Nokia N91 8GB, Nokia N92, Nokia N93, Nokia N93i, Samsung SGH-i570 |