Чтение штрих-кода с изображения с помощью Java

Штрих-коды играют жизненно важную роль в точном отслеживании запасов и доставке продуктов от производства до точки продажи. В некоторых случаях нам может понадобиться программно считывать штрих-коды с изображений. Мы можем легко обнаруживать, распознавать и считывать различные типы штрих-кодов и QR-кодов в приложениях Java. Это помогает разрабатывать приложения для считывания штрих-кода или сканера. В этой статье мы узнаем, как читать штрих-код с изображения с помощью Java.

В этой статье должны быть раскрыты следующие темы:

Что такое штрих-код

Штрих-код — это машиночитаемый код, представляющий закодированные данные в виде чисел и узора из параллельных линий. На изображении штрих-кода показан ряд параллельных черных и белых полос различной ширины, интервалов и размеров. Считыватели или сканеры штрих-кода сканируют изображения штрих-кода и декодируют информацию.

Java API для чтения штрих-кода с изображения

Чтобы считывать штрих-коды с изображений в приложениях Java, мы будем использовать Aspose.BarCode for Java. Это многофункциональный API, который позволяет создавать, сканировать и считывать широкий спектр символик штрих-кода. Класс BarCodeReader API позволяет считывать штрих-коды. Метод readBarCodes() этого класса возвращает массив распознанных штрих-кодов. API позволяет считывать штрих-коды указанного DecodeType. Класс BarCodeResult API хранит распознанные данные штрих-кода, такие как тип штрих-кода, текст кода, регион и другие параметры.

Пожалуйста, либо скачайте JAR API, либо добавьте следующую конфигурацию pom.xml в приложение Java на основе Maven.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>http://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-barcode</artifactId>
    <version>22.5</version>
</dependency>

Чтение штрих-кода с изображения в Java

Мы можем считывать штрих-коды с изображения, выполнив следующие шаги:

  • Во-первых, загрузите изображение с помощью класса BarCodeReader.
  • Получить результаты распознавания в объекте класса BarCodeResult с помощью метода readBarCodes().
  • Наконец, просмотрите результаты и покажите тип и текст штрих-кода.

В следующем примере кода показано, как считать штрих-код с изображения с помощью Java.

// В этом примере кода показано, как считывать штрих-код с изображения.
// Путь к папке с изображением
String dataDir = "C:\\Files\\BarCode\\";

// Инициализировать считыватель штрих-кода
BarCodeReader reader = new BarCodeReader(dataDir + "CodeText.jpg");

// Чтение штрих-кода и отображение результатов
for (BarCodeResult result : reader.readBarCodes()) {
  System.out.println("CodeText: " + result.getCodeText());
  System.out.println("Symbology type: " + result.getCodeType());
}
Чтение штрих-кода с изображения.

Чтение штрих-кода с изображения в Java.

Распознать штрих-код определенного типа в Java

Мы можем прочитать штрих-код определенного типа с изображения, выполнив следующие шаги:

  • Во-первых, прочитайте данные буфера файла изображения, используя метод ImageIO.read().
  • Затем создайте экземпляр класса BarCodeReader с буферизованным изображением и типом декодирования.
  • Затем установите тип декодирования штрих-кода для чтения штрих-кода определенного типа, например CODE39STANDARD.
  • После этого получить результаты распознавания в объекте класса BarCodeResult с помощью метода readBarCodes().
  • Наконец, просмотрите результаты и покажите тип и текст штрих-кода.

В следующем примере кода показано, как считывать штрих-код определенного типа с изображения с помощью Java.

// В этом примере кода показано, как считывать штрих-код определенного типа декодирования с изображения.
// Путь к папке с изображением
String dataDir = "C:\\Files\\BarCode\\";

// Получить буферизованное изображение
BufferedImage img = ImageIO.read(new File(dataDir + "CODE_39_STANDARD.jpg"));

// Инициализировать считыватель штрих-кода
BarCodeReader reader = new BarCodeReader(img, DecodeType.CODE_39_STANDARD);

// Чтение штрих-кода типа Code39Extended
for (BarCodeResult result : reader.readBarCodes()) {
  System.out.println("CodeText: " + result.getCodeText());
  System.out.println("Symbology type: " + result.getCodeType());
}
Распознавание штрих-кода определенного типа.

Распознавание штрих-кода определенного типа в Java.

Чтение нескольких штрих-кодов с изображения в Java

Мы также можем прочитать все доступные штрих-коды с изображения, выполнив следующие действия:

  • Во-первых, загрузите изображение с помощью класса BarCodeReader.
  • Затем установите тип декодирования штрих-кода как ALLSUPPORTEDTYPES.
  • После этого получить результаты распознавания в объекте класса BarCodeResult с помощью метода readBarCodes().
  • Наконец, просмотрите результаты и покажите тип и текст штрих-кода.

В следующем примере кода показано, как считывать несколько штрих-кодов с изображения с помощью Java.

// В этом примере кода показано, как считывать несколько штрих-кодов с изображения.
// Путь к папке с изображением
String dataDir = "C:\\Files\\BarCode\\";

// Инициализировать считыватель штрих-кода
BarCodeReader reader = new BarCodeReader(dataDir + "MultipleBarcodes.png", DecodeType.ALL_SUPPORTED_TYPES);

// Чтение всех типов штрих-кодов, доступных на входном изображении
for (BarCodeResult result : reader.readBarCodes()) {
  System.out.println("CodeText: " + result.getCodeText());
  System.out.println("Symbology type: " + result.getCodeType());
  System.out.println("-------------------------");
}
Чтение нескольких штрих-кодов с изображения.

Чтение нескольких штрих-кодов с изображения.

Получить координаты X и Y штрих-кода с помощью Java

Мы можем прочитать координаты X и Y обнаруженного штрих-кода с изображения, выполнив следующие шаги:

  • Во-первых, загрузите изображение с помощью класса BarCodeReader.
  • Далее получаем результаты распознавания в объекте класса BarCodeResult с помощью метода readBarCodes().
  • Затем просмотрите результаты и проверьте, не является ли значение getRegion() нулевым.
  • После этого получите массив Points, ограничивающий область штрих-кода, используя метод getPoints().
  • Наконец, покажите точки X и Y штрих-кода.

В следующем примере кода показано, как получить точки координат X и Y штрих-кода из изображения с помощью Java.

// В этом примере кода показано, как считывать точки области X и Y штрих-кодов с изображения.
// Путь к папке с изображением
String dataDir = "C:\\Files\\BarCode\\";

// Инициализировать считыватель штрих-кода
BarCodeReader reader = new BarCodeReader(dataDir + "Code39Std.png", DecodeType.ALL_SUPPORTED_TYPES);

// Чтение штрих-кода
for (BarCodeResult result : reader.readBarCodes()) {
  if (result.getRegion() != null) {
    // Отображение координат x и y всех обнаруженных штрих-кодов
    Point[] point = result.getRegion().getPoints();
    System.out.println("Top left coordinates: X = " + point[0].x + ", Y = " + point[0].y);
    System.out.println("Bottom left coordinates: X = " + point[1].x + ", Y = " + point[1].y);
    System.out.println("Bottom right coordinates: X = " + point[2].x + ", Y = " + point[2].y);
    System.out.println("Top right coordinates: X = " + point[3].x + ", Y = " + point[3].y);
  }
}
Получите координаты X и Y штрих-кода.

Получить координаты X и Y штрих-кода из изображения.

Чтение штрих-кода из определенной области изображения в Java

Мы можем прочитать штрих-код из определенной области или области изображения, выполнив следующие действия:

  • Во-первых, прочитайте данные буфера файла изображения, используя метод ImageIO.read().
  • Затем создайте экземпляр класса BarCodeReader. Он принимает буферизованное изображение, прямоугольную область и тип декодирования в качестве аргументов.
  • После этого получить результаты распознавания в объекте класса BarCodeResult с помощью метода readBarCodes().
  • Наконец, просмотрите результаты и покажите тип и текст штрих-кода.

В следующем примере кода показано, как считать штрих-код из определенной области изображения с помощью Java.

// В этом примере кода показано, как считывать штрих-код из определенной области изображения.
// Путь к папке с изображением
String dataDir = "C:\\Files\\BarCode\\";

// Получить буферизованное изображение
java.awt.image.BufferedImage img = javax.imageio.ImageIO.read(new java.io.File(dataDir + "specificRegion.png"));

// Создайте экземпляр класса BarCodeReader
// и укажите область для поиска штрих-кода
BarCodeReader reader = new BarCodeReader(img, new Rectangle(0, 0, 700, 100), DecodeType.ALL_SUPPORTED_TYPES);

// Считайте все штрих-коды в предоставленной области
for (BarCodeResult result : reader.readBarCodes()) {
  System.out.println("CodeText: " + result.getCodeText());
  System.out.println("Symbology type: " + result.getCodeType());
}
Чтение штрих-кода из определенной области изображения.

Чтение штрих-кодов из определенной области изображения в Java.

Получить бесплатную лицензию

Вы можете получить бесплатную временную лицензию, чтобы опробовать библиотеку без ограничений пробной версии.

Вывод

В этой статье мы узнали, как:

  • Загрузить изображение штрих-кода программно;
  • распознавать штрих-коды разных типов с изображения;
  • читать координаты штрих-кода в Java;
  • обнаруживать и считывать несколько штрих-кодов с одного изображения;
  • обнаруживать и считывать штрих-коды из определенной области изображения.

Кроме того, вы можете узнать больше об Aspose.BarCode for Java API, используя документацию. В случае возникновения каких-либо неясностей, пожалуйста, свяжитесь с нами на форуме.

Смотрите также