Čárové kódy hrají zásadní roli při přesném sledování zásob a dodávek produktů z výroby do místa prodeje. V určitých případech můžeme potřebovat číst čárové kódy z obrázků programově. V Java aplikacích můžeme snadno detekovat, rozpoznávat a číst různé typy čárových a QR kódů. Pomáhá vyvíjet aplikace pro čtečku čárových kódů nebo skener. V tomto článku se naučíme, jak číst čárový kód z obrázku pomocí Java.
Tento článek bude obsahovat následující témata:
- Co je čárový kód
- Java API pro čtení čárového kódu z obrázku
- Čtení čárového kódu z obrázku
- Rozpoznejte čárový kód určitého typu
- Čtení více čárových kódů z obrázku
- Získejte souřadnice X a Y čárového kódu
- Čtení čárového kódu ze specifické oblasti obrázku
Co je čárový kód
Čárový kód je strojově čitelný kód, který představuje zakódovaná data ve formě čísel a vzoru rovnoběžných čar. Obrázek čárového kódu ukazuje řadu rovnoběžných černých a bílých pruhů s různými šířkami, rozestupy a velikostmi. Čtečky nebo skenery čárových kódů skenují obrázky čárových kódů a dekódují informace.
Java API pro čtení čárového kódu z obrázku
Abychom mohli číst čárové kódy z obrázků v aplikacích Java, budeme používat Aspose.BarCode for Java. Jedná se o funkčně bohaté API, které vám umožňuje generovat, skenovat a číst širokou škálu symbol čárových kódů. Třída BarCodeReader API umožňuje čtení čárových kódů. Metoda readBarCodes() této třídy vrací pole rozpoznaných čárových kódů. API umožňuje čtení čárových kódů zadaného DecodeType. Třída BarCodeResult API ukládá rozpoznaná data čárového kódu, jako je typ čárového kódu, text kódu, region a další parametry.
Prosím buď stáhněte JAR API, nebo přidejte následující konfiguraci pom.xml do Java aplikace založené na 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>
Čtení čárového kódu z obrázku v Javě
Čárové kódy můžeme číst z obrázku podle následujících kroků:
- Nejprve načtěte obrázek pomocí třídy BarCodeReader.
- Získejte výsledky rozpoznávání v objektu třídy BarCodeResult pomocí metody readBarCodes().
- Nakonec projděte výsledky a zobrazte typ a text čárového kódu.
Následující ukázka kódu ukazuje, jak číst čárový kód z obrázku pomocí Java.
// Tento příklad kódu ukazuje, jak číst čárový kód z obrázku.
// Cesta k adresáři s obrázky
String dataDir = "C:\\Files\\BarCode\\";
// Inicializujte čtečku čárových kódů
BarCodeReader reader = new BarCodeReader(dataDir + "CodeText.jpg");
// Přečtěte si čárový kód a zobrazte výsledky
for (BarCodeResult result : reader.readBarCodes()) {
System.out.println("CodeText: " + result.getCodeText());
System.out.println("Symbology type: " + result.getCodeType());
}
Rozpoznejte čárový kód určitého typu v Javě
Čárový kód určitého typu můžeme přečíst z obrázku podle následujících kroků:
- Nejprve načtěte data vyrovnávací paměti obrazového souboru pomocí metody ImageIO.read().
- Dále vytvořte instanci třídy BarCodeReader s obrázkem ve vyrovnávací paměti a typem dekódování.
- Poté nastavte typ dekódování čárového kódu pro čtení čárového kódu určitého typu, například CODE39STANDARD.
- Poté získejte výsledky rozpoznání v objektu třídy BarCodeResult pomocí metody readBarCodes().
- Nakonec projděte výsledky a zobrazte typ a text čárového kódu.
Následující ukázka kódu ukazuje, jak číst čárový kód určitého typu z obrázku pomocí Java.
// Tento příklad kódu ukazuje, jak číst čárový kód určitého typu dekódování z obrázku.
// Cesta k adresáři s obrázky
String dataDir = "C:\\Files\\BarCode\\";
// Získejte leštěný obraz
BufferedImage img = ImageIO.read(new File(dataDir + "CODE_39_STANDARD.jpg"));
// Inicializujte čtečku čárových kódů
BarCodeReader reader = new BarCodeReader(img, DecodeType.CODE_39_STANDARD);
// Čtení čárového kódu typu Code39Extended
for (BarCodeResult result : reader.readBarCodes()) {
System.out.println("CodeText: " + result.getCodeText());
System.out.println("Symbology type: " + result.getCodeType());
}
Přečtěte si více čárových kódů z obrázku v Javě
Můžeme také přečíst všechny dostupné čárové kódy z obrázku podle následujících kroků:
- Nejprve načtěte obrázek pomocí třídy BarCodeReader.
- Dále nastavte typ dekódování čárového kódu jako ALLSUPPORTEDTYPES.
- Poté získejte výsledky rozpoznání v objektu třídy BarCodeResult pomocí metody readBarCodes().
- Nakonec projděte výsledky a zobrazte typ a text čárového kódu.
Následující ukázka kódu ukazuje, jak číst více čárových kódů z obrázku pomocí Java.
// Tento příklad kódu ukazuje, jak číst více čárových kódů z obrázku.
// Cesta k adresáři s obrázky
String dataDir = "C:\\Files\\BarCode\\";
// Inicializujte čtečku čárových kódů
BarCodeReader reader = new BarCodeReader(dataDir + "MultipleBarcodes.png", DecodeType.ALL_SUPPORTED_TYPES);
// Přečtěte si všechny typy čárových kódů dostupné na vstupním obrázku
for (BarCodeResult result : reader.readBarCodes()) {
System.out.println("CodeText: " + result.getCodeText());
System.out.println("Symbology type: " + result.getCodeType());
System.out.println("-------------------------");
}
Získejte souřadnice X a Y čárového kódu pomocí Java
Z obrázku můžeme přečíst souřadnice X a Y detekovaného čárového kódu podle následujících kroků:
- Nejprve načtěte obrázek pomocí třídy BarCodeReader.
- Dále získejte výsledky rozpoznání v objektu třídy BarCodeResult pomocí metody readBarCodes().
- Poté projděte výsledky a zkontrolujte, zda getRegion() není null.
- Poté získejte pole Points ohraničující oblast čárového kódu pomocí getPoints().
- Nakonec ukažte body X a Y čárového kódu.
Následující ukázka kódu ukazuje, jak získat body souřadnic X a Y čárového kódu z obrázku pomocí Java.
// Tento příklad kódu ukazuje, jak číst bod oblasti X & Y čárových kódů z obrázku.
// Cesta k adresáři s obrázky
String dataDir = "C:\\Files\\BarCode\\";
// Inicializujte čtečku čárových kódů
BarCodeReader reader = new BarCodeReader(dataDir + "Code39Std.png", DecodeType.ALL_SUPPORTED_TYPES);
// Přečtěte si čárový kód
for (BarCodeResult result : reader.readBarCodes()) {
if (result.getRegion() != null) {
// Zobrazte souřadnice x a y všech detekovaných čárových kódů
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);
}
}
Čtení čárového kódu ze specifické oblasti obrázku v Javě
Čárový kód z určité oblasti nebo oblasti obrázku můžeme přečíst podle následujících kroků:
- Nejprve načtěte data vyrovnávací paměti obrazového souboru pomocí metody ImageIO.read().
- Dále vytvořte instanci třídy BarCodeReader. Jako argumenty bere obrázek ve vyrovnávací paměti, oblast obdélníku a typ dekódování.
- Poté získejte výsledky rozpoznání v objektu třídy BarCodeResult pomocí metody readBarCodes().
- Nakonec projděte výsledky a zobrazte typ a text čárového kódu.
Následující ukázka kódu ukazuje, jak číst čárový kód z konkrétní oblasti obrázku pomocí Java.
// Tento příklad kódu ukazuje, jak číst čárový kód z konkrétní oblasti obrázku.
// Cesta k adresáři s obrázky
String dataDir = "C:\\Files\\BarCode\\";
// Získejte BufferedImage
java.awt.image.BufferedImage img = javax.imageio.ImageIO.read(new java.io.File(dataDir + "specificRegion.png"));
// Vytvořte instanci třídy BarCodeReader
// a určete oblast, kde se má čárový kód hledat
BarCodeReader reader = new BarCodeReader(img, new Rectangle(0, 0, 700, 100), DecodeType.ALL_SUPPORTED_TYPES);
// Přečtěte si všechny čárové kódy v určené oblasti
for (BarCodeResult result : reader.readBarCodes()) {
System.out.println("CodeText: " + result.getCodeText());
System.out.println("Symbology type: " + result.getCodeType());
}
Získejte bezplatnou licenci
Můžete získat bezplatnou dočasnou licenci a vyzkoušet knihovnu bez omezení hodnocení.
Závěr
V tomto článku jsme se naučili, jak:
- Načíst obrázek čárového kódu programově;
- rozpoznat čárové kódy různých typů z obrázku;
- číst souřadnice čárového kódu v Javě;
- detekovat a číst více čárových kódů z jednoho obrázku;
- detekovat a číst čárové kódy z určité oblasti obrazu.
Kromě toho se můžete dozvědět více o Aspose.BarCode pro Java API pomocí dokumentace. V případě jakýchkoliv nejasností nás neváhejte kontaktovat na fóru.