Du kan konvertera en text från bilden till ett redigerbart format med Optical Character Recognition (OCR). Bilder som JPG, PNG, TIFF, BMP, GIF etc. används överallt på internet och du kan behöva känna igen text från en onlinebild. Du kan enkelt använda URL-länken till den bilden för att utföra OCR på den, istället för att spara eller ladda ner filen. Följande rubriker diskuterar detaljerna ytterligare:
- Java OCR API – Installation
- Känn igen text genom att utföra OCR på bild från URL med Java
- Känn igen text från sned eller lutad bild med OCR med Java
Java OCR API – Installation
Aspose.OCR for Java API kan användas för att utföra operationer för optisk teckenigenkänning på bilder. Den kan känna igen text och konvertera bilden till redigerbar text. Ladda ner JAR-filen för API från avsnittet Nedladdningar eller ange följande Maven-konfigurationer i pom.xml-filen för ditt projekt:
Förvar:
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>http://repository.aspose.com/repo/</url>
</repository>
Beroende:
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-ocr</artifactId>
<version>20.5</version>
</dependency>
Känn igen text genom att utföra OCR på bild från URL med Java
Du kan utföra optisk teckenigenkänning på en bild från URL med följande steg:
- Skapa API-instans med klassen AsposeOCR.
- Ange bild-URI.
- Ställ in igenkänningsalternativ med klassen RecognitionSettings.
- Få resultatobjekt.
- Skriv ut resultat.
Följande kod förklarar hur man känner igen text genom att utföra OCR på bild från URL programmatiskt med Java:
//Skapa api-instans
AsposeOCR api = new AsposeOCR();
// Ange bild-URI
String uri = "https://www.castlegateit.co.uk/wp-content/uploads/2016/09/justified_text.png";
// Ställ in igenkänningsalternativ
RecognitionSettings settings = new RecognitionSettings();
settings.setAutoSkew(false);
ArrayList<Rectangle> rectangles = new ArrayList<Rectangle>();
rectangles.add(new Rectangle(90,186,775,95));
settings.setRecognitionAreas(rectangles);
// Få resultatobjekt
RecognitionResult result = null;
try {
result = api.RecognizePageFromUri(uri, settings);
} catch (IOException e) {
e.printStackTrace();
}
// Skriv ut resultat
System.out.println("Result: \n" + result.recognitionText+"\n\n");
System.out.println("RecognitionAreasText: \n");
for(String text: result.recognitionAreasText) {
System.out.println(text);
}
Känn igen text från sned eller lutad bild med OCR med Java
Ibland kan en bild lutas eller snedställas av någon anledning. Till exempel kan en bild skapad av en kamera eller skanner vara lite skev, då kan du få snedvinkeln på inmatningsbilden. Du kan förbättra textigenkänningens noggrannhet genom att känna till och korrigera snedställningsvinkeln. Du måste följa följande steg:
- Skapa API-instans med AsposeOCR-objekt.
- Ställ in igenkänningsalternativ.
- Beräkna och ställ in snedvinkel.
- Få resultatet med objektet RecognitionResult och skriv ut det.
Koden nedan visar hur man känner igen text från en skev bild med OCR programmatiskt i Java:
//Skapa api-instans
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);
// läs webbadressen
image = ImageIO.read(url);
}catch(IOException e){
e.printStackTrace();
}
// ställ in igenkänningsalternativ
RecognitionSettings settings = new RecognitionSettings();
double angle = 0;
// Få skev vinkel
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);
// få resultatobjekt
RecognitionResult result = null;
try {
result = api.RecognizePageFromUri(uri, settings);
} catch (IOException e) {
e.printStackTrace();
}
// utskriftsresultat
System.out.println("Result: \n" + result.recognitionText+"\n\n");
System.out.println("RecognitionAreasText: \n");
for(String text: result.recognitionAreasText) {
System.out.println(text);
}
Få gratis API-licens
Du kan begära en Free Temporary License för att utvärdera API:et i dess fulla kapacitet.
Slutsats
Sammanfattningsvis har du lärt dig att känna igen text genom att utföra OCR-operationer på en bild från vilken URL-adress som helst. Dessutom har du utforskat hur man korrigerar snedställningsvinkeln för bilden för att förbättra noggrannheten och effektiviteten hos API:et. Du kan ta en titt på flera andra funktioner i API:t genom att besöka Dokumentation, eller kontakta oss gärna via Free Support Forum om du har några frågor.