Vai al contenuto principale
ABBYY FineReader Engine gestisce le immagini caricandole in un oggetto FRDocument, che rappresenta il documento in elaborazione.

Apertura delle immagini

Per caricare le immagini nel documento, eseguire una delle seguenti operazioni: Tutti questi metodi accettano come parametro l’oggetto PrepareImageMode, che consente di specificare diversi parametri di preelaborazione dell’immagine. Chiamare il metodo IEngine::CreatePrepareImageMode per creare questo oggetto, modificarne le proprietà secondo necessità e quindi passarlo a uno dei metodi sopra indicati. È inoltre possibile aggiungere un oggetto ImageDocument esistente (ad esempio, uno caricato da un file in formato interno) utilizzando il metodo AddImageDocument dell’oggetto FRDocument.

Struttura di ImageDocument

Una volta caricata nel documento, è possibile accedere all’immagine di ciascuna pagina tramite la proprietà IFRPage::ImageDocument. Ogni immagine aperta in ABBYY FineReader Engine è rappresentata da un oggetto ImageDocument. ImageDocument memorizza l’immagine nel cosiddetto “formato interno”, che include 4 piani dell’immagine, rappresentati da oggetti Image:
  • Piano in bianco e nero. È la copia in bianco e nero dell’immagine di origine.
  • Piano in scala di grigi. È la copia in scala di grigi dell’immagine di origine. Se l’immagine di origine era in bianco e nero, questo piano coincide con quello in bianco e nero.
  • Piano a colori. È la copia a colori dell’immagine di origine. Se l’immagine di origine era in bianco e nero, questo piano coincide con quello in bianco e nero; se era in scala di grigi, coincide con il piano in scala di grigi.
  • Anteprima. Una piccola immagine a colori usata per visualizzare l’anteprima nell’interfaccia utente. L’anteprima viene creata quando si chiama il metodo GetPreviewImage o GetPreviewImageSpecificSize. Qualsiasi modifica dell’immagine, automatica o manuale, può reimpostare l’anteprima creata, che dovrà quindi essere generata di nuovo.
Le dimensioni e la risoluzione delle immagini in bianco e nero, in scala di grigi e a colori sono identiche. L’immagine di anteprima è in genere più piccola. Le immagini possono essere raddrizzate durante l’apertura. Per mettere in relazione le coordinate dell’immagine originale con quelle successive all’apertura o a ulteriori modifiche, usare l’oggetto CoordinatesConverter. Questo oggetto memorizza lo stato delle coordinate nel momento in cui viene ottenuto. È possibile usarlo per convertire le coordinate dei pixel tra due qualsiasi fasi dell’elaborazione dell’immagine. Ad esempio:
  1. Ottenere questo oggetto usando la proprietà IImageDocument::CoordinatesConverter subito dopo l’apertura dell’immagine, durante la quale è stata corretta l’inclinazione dell’immagine.
  2. Dopo ulteriori modifiche, ottenere un’altra istanza di questo oggetto da ImageDocument.
  3. A questo punto è possibile convertire le coordinate dei pixel tra il piano dell’immagine inizialmente raddrizzato e quello modificato applicando due volte il metodo ConvertCoordinates:
    1. Convertire dal piano dell’immagine raddrizzato a quello originale usando la prima istanza di CoordinatesConverter.
    2. Convertire il risultato dal piano dell’immagine originale a quello modificato usando la seconda istanza di CoordinatesConverter.
Lo stesso metodo consente di convertire le coordinate dei pixel da uno dei piani dell’immagine a dimensione intera al piano di anteprima e viceversa. Le coordinate dei pixel sui piani dell’immagine in bianco e nero, in scala di grigi e a colori sono le stesse.
Una modifica dell’immagine, automatica o manuale, può reimpostare il piano di anteprima creato in precedenza e non sarà quindi possibile convertire le coordinate da o verso tale anteprima. Prima di convertire le coordinate, chiamare di nuovo il metodo GetPreviewImage se l’immagine è stata modificata.

Modifica dell’immagine

I meccanismi di pre-elaborazione automatica sono il modo migliore per preparare l’immagine per l’Optical Character Recognition (OCR). Il programma determina l’origine dell’immagine e il tipo di documento, rileva eventuali errori di orientamento, risoluzione o inclinazione dell’immagine e tiene conto di tutti questi dati per migliorarla. Si consiglia di eseguire ulteriori modifiche all’immagine solo se, dopo la pre-elaborazione automatica, il risultato non è soddisfacente.
Le modifiche durante l’apertura dell’immagine sono gestite dall’oggetto PrepareImageMode. Dopo l’apertura, l’immagine può essere modificata usando:

Salvataggio delle immagini

È possibile salvare il piano dell’immagine corrente in un file immagine nel formato specificato utilizzando il metodo WriteToFile dell’oggetto Image. ABBYY FineReader Engine offre anche una funzionalità che consente di salvare più immagini in un unico file immagine. Per salvare un file immagine multipagina, utilizzare l’oggetto MultipageImageWriter:
  1. Creare un oggetto MultipageImageWriter utilizzando il metodo CreateMultipageImageWriter dell’oggetto Engine.
  2. Aggiungere le immagini alla fine del file immagine multipagina utilizzando il metodo AddPage dell’oggetto MultipageImageWriter. Ogni immagine viene aggiunta come singola pagina.
  3. Prima di poter utilizzare il file immagine appena creato, è necessario rilasciare tutti i riferimenti all’oggetto MultipageImageWriter.
Si noti che, sebbene l’oggetto ImageDocument fornisca una serie di metodi di salvataggio (SaveTo, SaveToFile, SaveToMemory), questi metodi non possono essere utilizzati per salvare un’immagine in un formato esterno. Questi metodi salvano il contenuto dell’oggetto ImageDocument nel formato interno di ABBYY FineReader Engine, che non può essere visualizzato con alcun programma esterno.

Vedi anche

Formati immagine supportati