Zum Hauptinhalt springen
ABBYY FineReader Engine verarbeitet Bilder, indem sie in ein FRDocument-Objekt geladen werden, das das zu verarbeitende Dokument repräsentiert.

Bilder öffnen

Gehen Sie folgendermaßen vor, um Bilder in das Dokument zu laden: Alle diese Methoden verwenden das Objekt PrepareImageMode als Parameter, mit dem Sie verschiedene Parameter für die Bildvorverarbeitung festlegen können. Rufen Sie die Methode IEngine::CreatePrepareImageMode auf, um dieses Objekt zu erstellen, ändern Sie seine Eigenschaften nach Bedarf und übergeben Sie es dann an eine der oben genannten Methoden. Sie können auch ein vorhandenes ImageDocument-Objekt hinzufügen (z. B. eines, das aus einer Datei im internen Format geladen wurde), und zwar mit der Methode AddImageDocument des FRDocument-Objekts.

ImageDocument-Struktur

Sobald das Bild einer Seite in das Dokument geladen wurde, kann über die Eigenschaft IFRPage::ImageDocument darauf zugegriffen werden. Jedes geöffnete Bild in ABBYY FineReader Engine wird durch ein ImageDocument-Objekt dargestellt. Das ImageDocument speichert das Bild im sogenannten „internen Format“, das 4 Bildebenen umfasst, die durch Image-Objekte repräsentiert werden:
  • Schwarzweißebene. Sie ist die Schwarzweißkopie des Quellbilds.
  • Grauebene. Sie ist die Graustufenkopie des Quellbilds. Wenn das Quellbild schwarzweiß war, ist diese Ebene identisch mit der Schwarzweißebene.
  • Farbebene. Sie ist die Farbkopie des Quellbilds. Wenn das Quellbild schwarzweiß war, ist diese Ebene identisch mit der Schwarzweißebene; wenn es ein Graustufenbild war, ist diese Ebene identisch mit der Grauebene.
  • Vorschau. Ein kleines Farbbild, das zur Anzeige eines Vorschaubilds in der Benutzeroberfläche verwendet wird. Die Vorschau wird beim Aufruf der Methode GetPreviewImage oder GetPreviewImageSpecificSize erstellt. Jede Änderung des Bilds, ob automatisch oder manuell, kann die erstellte Vorschau zurücksetzen, sodass sie erneut erstellt werden muss.
Größe und Auflösung von Schwarzweiß-, Grau- und Farbbildern sind identisch. Das Vorschaubild ist in der Regel kleiner. Die Bilder können beim Öffnen entzerrt werden. Um die Koordinaten auf dem Originalbild den Koordinaten nach dem Öffnen oder nach weiteren Änderungen zuzuordnen, verwenden Sie das Objekt CoordinatesConverter. Es speichert den Zustand der Koordinaten zu dem Zeitpunkt, zu dem es abgerufen wurde. Sie können dieses Objekt verwenden, um Pixelkoordinaten zwischen beliebigen zwei Phasen der Bildverarbeitung zu konvertieren. Zum Beispiel:
  1. Rufen Sie dieses Objekt direkt nach dem Öffnen des Bilds, bei dem die Schieflage des Bilds korrigiert wurde, über die Eigenschaft IImageDocument::CoordinatesConverter ab.
  2. Rufen Sie nach weiteren Änderungen eine weitere Instanz dieses Objekts aus dem ImageDocument ab.
  3. Jetzt können Sie Pixelkoordinaten zwischen der anfänglich entzerrten Bildebene und der geänderten Bildebene konvertieren, indem Sie die Methode ConvertCoordinates zweimal anwenden:
    1. Konvertieren Sie mithilfe der ersten Instanz des CoordinatesConverter von der entzerrten Bildebene zum Original.
    2. Konvertieren Sie das Ergebnis mithilfe der zweiten Instanz des CoordinatesConverter von der ursprünglichen Bildebene zur geänderten Bildebene.
Mit derselben Methode können Sie Pixelkoordinaten von einer der Bildebenen in voller Größe zur Vorschaubildebene und zurück konvertieren. Die Pixelkoordinaten auf den Schwarzweiß-, Grau- und Farbbildebenen sind identisch.
Eine Bildänderung, ob automatisch oder manuell, kann die zuvor erstellte Vorschaubildebene zurücksetzen, und Sie können dann keine Koordinaten zu oder von dieser Vorschau konvertieren. Bevor Sie Koordinaten konvertieren, rufen Sie die Methode GetPreviewImage erneut auf, wenn das Bild geändert wurde.

Bildbearbeitung

Die automatische Vorverarbeitung eignet sich am besten, um das Bild für Optical Character Recognition (OCR) vorzubereiten. Das Programm bestimmt die Herkunft des Bildes und den Dokumenttyp, erkennt eine falsche Ausrichtung, Auflösung oder Schieflage des Bildes und berücksichtigt all diese Faktoren, um das Bild zu verbessern. Wir empfehlen, zusätzliche Bildbearbeitungen nur dann vorzunehmen, wenn Sie nach der automatischen Vorverarbeitung mit dem Ergebnis nicht zufrieden sind.
Bearbeitungen beim Öffnen des Bildes werden über das Objekt PrepareImageMode gesteuert. Nach dem Öffnen kann das Bild wie folgt geändert werden:

Speichern von Bildern

Sie können die aktuelle Bildebene mit der WriteToFile-Methode des Image-Objekts in einem angegebenen Format in eine Bilddatei speichern. ABBYY FineReader Engine bietet auch die Möglichkeit, mehrere Bilder in einer einzigen Bilddatei zu speichern. Verwenden Sie zum Speichern einer mehrseitigen Bilddatei das MultipageImageWriter-Objekt:
  1. Erstellen Sie ein MultipageImageWriter-Objekt mit der CreateMultipageImageWriter-Methode des Engine-Objekts.
  2. Fügen Sie Bilder mit der AddPage-Methode des MultipageImageWriter-Objekts am Ende der mehrseitigen Bilddatei hinzu. Jedes Bild wird als einzelne Seite hinzugefügt.
  3. Bevor die neu erstellte Bilddatei verwendet werden kann, müssen alle Verweise auf das MultipageImageWriter-Objekt freigegeben werden.
Beachten Sie, dass das ImageDocument-Objekt zwar mehrere Speichermethoden bereitstellt (SaveTo, SaveToFile, SaveToMemory), diese Methoden jedoch nicht zum Speichern eines Bildes in einem externen Format verwendet werden können. Diese Methoden speichern den Inhalt des ImageDocument-Objekts im internen Format von ABBYY FineReader Engine, das in keinem externen Programm angezeigt werden kann.

Siehe auch

Unterstützte Bildformate