Rozpoznat-Text-OCR-Obrázek-pomocí-Java

Pomocí optického rozpoznávání znaků (OCR) můžete převést text z obrázku do upravitelného formátu. Obrázky jako JPG, PNG, TIFF, BMP, GIF atd. se používají všude na internetu a možná budete muset rozpoznat text z online obrázku. Místo ukládání nebo stahování souboru můžete snadno použít odkaz URL na tento obrázek a provést na něm OCR. Následující nadpisy pojednávají o podrobnostech:

Java OCR API – Instalace

Aspose.OCR for Java API lze použít k provádění operací optického rozpoznávání znaků na obrázcích. Dokáže rozpoznat text a převést obrázek na upravitelný text. Stáhněte si prosím soubor JAR API ze sekce Stahování nebo zadejte následující konfigurace Maven v souboru pom.xml vašeho projektu:

úložiště:

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>http://repository.aspose.com/repo/</url>
</repository>

Závislost:

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-ocr</artifactId>
    <version>20.5</version>
</dependency>

Rozpoznejte text pomocí OCR na obrázku z adresy URL pomocí Java

Optické rozpoznávání znaků na obrázku z adresy URL můžete provést pomocí následujících kroků:

  1. Vytvořte instanci API s třídou AsposeOCR.
  2. Zadejte URI obrázku.
  3. Nastavte možnosti rozpoznávání pomocí třídy RecognitionSettings.
  4. Získejte výsledný objekt.
  5. Vytisknout výsledek.

Následující kód vysvětluje, jak rozpoznat text provedením OCR na obrázku z adresy URL programově pomocí Java:

//Vytvořte instanci API
AsposeOCR api = new AsposeOCR();

// Zadejte URI obrázku
String uri = "https://www.castlegateit.co.uk/wp-content/uploads/2016/09/justified_text.png";

// Nastavte možnosti rozpoznávání
RecognitionSettings settings = new RecognitionSettings();
settings.setAutoSkew(false);
ArrayList<Rectangle> rectangles = new ArrayList<Rectangle>();
rectangles.add(new Rectangle(90,186,775,95));
settings.setRecognitionAreas(rectangles);


// Získejte výsledný objekt
RecognitionResult result = null;
try {
	result = api.RecognizePageFromUri(uri, settings);
} catch (IOException e) {
	e.printStackTrace();
}

// Vytisknout výsledek
System.out.println("Result: \n" + result.recognitionText+"\n\n");
System.out.println("RecognitionAreasText: \n");
for(String text: result.recognitionAreasText) {
	System.out.println(text);
}

Rozpoznejte text ze zkoseného nebo nakloněného obrazu pomocí OCR pomocí Java

Někdy může být obrázek z nějakého důvodu nakloněný nebo zkosený. Například obrázek vytvořený fotoaparátem nebo skenerem může být trochu zkosený, pak můžete získat úhel zkosení vstupního obrázku. Přesnost rozpoznávání textu můžete zlepšit znalostmi a opravou úhlu zkosení. Musíte postupovat podle následujících kroků:

  • Vytvořte instanci API pomocí objektu AsposeOCR.
  • Nastavte možnosti rozpoznávání.
  • Vypočítejte a nastavte úhel zkosení.
  • Získejte výsledek pomocí objektu RecognitionResult a vytiskněte jej.

Níže uvedený kód ukazuje, jak rozpoznat text ze zkoseného obrázku pomocí OCR programově v Javě:

//Vytvořte instanci API
AsposeOCR api = new AsposeOCR();

String uri = "https://www.castlegateit.co.uk/wp-content/uploads/2016/09/justified_text.png";

BufferedImage image = null;
try{
java.net.URL url =new java.net.URL(uri);

// přečtěte si url
image = ImageIO.read(url);
}catch(IOException e){
            e.printStackTrace();
        }
// nastavit možnosti rozpoznávání
RecognitionSettings settings = new RecognitionSettings();
double angle = 0;

// Získejte úhel zkosení
try {
	angle = api.CalcSkewImage(image);
	System.out.println("Skew text is:" + angle + " degrees.");
} catch (IOException e1) {
	e1.printStackTrace();
}
settings.setSkew(angle);

ArrayList<Rectangle> rectangles = new ArrayList<Rectangle>();
rectangles.add(new Rectangle(90,186,775,95));
settings.setRecognitionAreas(rectangles);

// získat výsledný objekt
RecognitionResult result = null;
try {
	result = api.RecognizePageFromUri(uri, settings);
} catch (IOException e) {
	e.printStackTrace();
}

// výsledek tisku
System.out.println("Result: \n" + result.recognitionText+"\n\n");
System.out.println("RecognitionAreasText: \n");
for(String text: result.recognitionAreasText) {
	System.out.println(text);
}

Získejte bezplatnou licenci API

Můžete požádat o bezplatnou dočasnou licenci k vyhodnocení plné kapacity API.

Závěr

Na závěr jste se naučili, jak rozpoznat text prováděním operací OCR na obrázku z libovolné adresy URL. Kromě toho jste prozkoumali, jak opravit úhel zkosení obrázku, abyste zlepšili přesnost a efektivitu API. Na několik dalších funkcí API se můžete podívat na Dokumentaci, nebo nás v případě jakýchkoliv dotazů neváhejte kontaktovat prostřednictvím Free Support Forum.

Viz také