Riconosci-testo-OCR-immagine-usando-Java

È possibile convertire un testo dall’immagine in un formato modificabile con il riconoscimento ottico dei caratteri (OCR). Immagini come JPG, PNG, TIFF, BMP, GIF, ecc. sono utilizzate ovunque su Internet e potrebbe essere necessario riconoscere il testo da un’immagine online. Puoi facilmente utilizzare il collegamento URL a quell’immagine per eseguire l’OCR su di essa, invece di salvare o scaricare il file. I seguenti titoli discutono ulteriormente i dettagli:

API Java OCR – Installazione

L’API Aspose.OCR per Java può essere utilizzata per eseguire operazioni di riconoscimento ottico dei caratteri sulle immagini. Può riconoscere il testo e convertire l’immagine in testo modificabile. Scarica il file JAR dell’API dalla sezione Download o specifica le seguenti configurazioni Maven nel file pom.xml del tuo progetto:

Archivio:

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

Dipendenza:

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

Riconosci il testo eseguendo l’OCR sull’immagine dall’URL con Java

Puoi eseguire il riconoscimento ottico dei caratteri su un’immagine dall’URL con i seguenti passaggi:

  1. Crea un’istanza API con la classe AsposeOCR.
  2. Specificare l’URI dell’immagine.
  3. Imposta le opzioni di riconoscimento con la classe RecognitionSettings.
  4. Ottieni l’oggetto risultato.
  5. Risultato di stampa.

Il codice seguente spiega come riconoscere il testo eseguendo l’OCR sull’immagine dall’URL in modo programmatico utilizzando Java:

//Crea istanza API
AsposeOCR api = new AsposeOCR();

// Specificare l'URI dell'immagine
String uri = "https://www.castlegateit.co.uk/wp-content/uploads/2016/09/justified_text.png";

// Imposta le opzioni di riconoscimento
RecognitionSettings settings = new RecognitionSettings();
settings.setAutoSkew(false);
ArrayList<Rectangle> rectangles = new ArrayList<Rectangle>();
rectangles.add(new Rectangle(90,186,775,95));
settings.setRecognitionAreas(rectangles);


// Ottieni l'oggetto risultato
RecognitionResult result = null;
try {
	result = api.RecognizePageFromUri(uri, settings);
} catch (IOException e) {
	e.printStackTrace();
}

// Risultato di stampa
System.out.println("Result: \n" + result.recognitionText+"\n\n");
System.out.println("RecognitionAreasText: \n");
for(String text: result.recognitionAreasText) {
	System.out.println(text);
}

Riconosci il testo da un’immagine inclinata o inclinata con OCR utilizzando Java

A volte un’immagine può essere inclinata o inclinata per qualche motivo. Ad esempio, un’immagine creata da una fotocamera o uno scanner può essere leggermente inclinata, quindi puoi ottenere l’angolo di inclinazione dell’immagine in ingresso. È possibile migliorare la precisione del riconoscimento del testo conoscendo e correggendo l’angolo di inclinazione. È necessario seguire i seguenti passaggi:

  • Crea un’istanza API utilizzando l’oggetto AsposeOCR.
  • Imposta le opzioni di riconoscimento.
  • Calcola e imposta l’angolo di inclinazione.
  • Ottieni il risultato con l’oggetto RecognitionResult e stampalo.

Il codice seguente mostra come riconoscere il testo da un’immagine distorta con OCR a livello di codice in Java:

//Crea istanza 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);

// leggi l'URL
image = ImageIO.read(url);
}catch(IOException e){
            e.printStackTrace();
        }
// impostare le opzioni di riconoscimento
RecognitionSettings settings = new RecognitionSettings();
double angle = 0;

// Ottieni l'angolo di inclinazione
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);

// ottenere l'oggetto risultato
RecognitionResult result = null;
try {
	result = api.RecognizePageFromUri(uri, settings);
} catch (IOException e) {
	e.printStackTrace();
}

// risultato di stampa
System.out.println("Result: \n" + result.recognitionText+"\n\n");
System.out.println("RecognitionAreasText: \n");
for(String text: result.recognitionAreasText) {
	System.out.println(text);
}

Ottieni la licenza API gratuita

Puoi richiedere una Licenza temporanea gratuita per valutare l’API nella sua piena capacità.

Conclusione

In conclusione, hai imparato a riconoscere il testo eseguendo operazioni OCR su un’immagine da qualsiasi indirizzo URL. Inoltre, hai esplorato come correggere l’angolo di inclinazione dell’immagine per migliorare la precisione e l’efficienza dell’API. Puoi dare un’occhiata a molte altre funzionalità dell’API visitando la Documentazione, oppure non esitare a contattarci tramite il Forum di supporto gratuito in caso di domande.

Guarda anche