Штрих-коды играют жизненно важную роль в точном отслеживании запасов и доставке продуктов от производства до точки продажи. В некоторых случаях нам может понадобиться программно считывать штрих-коды с изображений. Мы можем легко обнаруживать, распознавать и считывать различные типы штрих-кодов и QR-кодов в приложениях Java. Это помогает разрабатывать приложения для считывания штрих-кода или сканера. В этой статье мы узнаем, как читать штрих-код с изображения с помощью Java.
В этой статье должны быть раскрыты следующие темы:
- Что такое штрих-код
- Java API для чтения штрих-кода с изображения
- Чтение штрих-кода с изображения
- Распознать штрих-код определенного типа
- Чтение нескольких штрих-кодов с изображения
- Получить координаты X и Y штрих-кода
- Чтение штрих-кода из определенной области изображения
Что такое штрих-код
Штрих-код — это машиночитаемый код, представляющий закодированные данные в виде чисел и узора из параллельных линий. На изображении штрих-кода показан ряд параллельных черных и белых полос различной ширины, интервалов и размеров. Считыватели или сканеры штрих-кода сканируют изображения штрих-кода и декодируют информацию.
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
Мы можем прочитать штрих-код определенного типа с изображения, выполнив следующие шаги:
- Во-первых, прочитайте данные буфера файла изображения, используя метод 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
Мы также можем прочитать все доступные штрих-коды с изображения, выполнив следующие действия:
- Во-первых, загрузите изображение с помощью класса 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);
}
}
Чтение штрих-кода из определенной области изображения в 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;
- обнаруживать и считывать несколько штрих-кодов с одного изображения;
- обнаруживать и считывать штрих-коды из определенной области изображения.
Кроме того, вы можете узнать больше об Aspose.BarCode for Java API, используя документацию. В случае возникновения каких-либо неясностей, пожалуйста, свяжитесь с нами на форуме.