Zum Hauptinhalt springen

Funktion

Stellt ein Bild dar, das in ABBYY FlexiCapture bearbeitet werden kann. Das Objekt ist eine Erweiterung der IPictureObject-Schnittstelle.
Dieses Objekt ist in der Web-Verifizierungsstation für die lokale Regelprüfung nicht verfügbar.

Methoden

MethodeBeschreibungZulässige Bildfarben
ApplyContourSmoother( params: IContourSmootherParams )Wendet die Konturglättung auf ein Bild an.Für Graustufen- und Farbbilder
ApplyLocalContrastFilter( params: ILocalContrastParams )Wendet den nicht-adaptiven Kontrastfilter auf ein Bild an.Für Graustufen- und Farbbilder
ApplyMultiscaleLocalContrastFilter()Wendet den adaptiven Kontrastfilter auf ein Bild an. Verwenden Sie diese Methode, um ein Bild in einen Scan umzuwandeln.Für Graustufen- und Farbbilder
ApplyShadowsHighlightsFilter( params: IShadowsHighlightsParams )Wendet die Schattenaufhellung auf ein Bild an.Für Graustufen- und Farbbilder
ApplySigmaFilter()Entfernt Bildrauschen.Für alle Bilder
AutoCrop( [optional] type: string )Schneidet ein Bild automatisch zu. Mögliche Werte für den Parameter type sind Photo, Scan und Generic. Der Standardwert ist Generic.Für alle Bilder
Binarize( params: IBinarizationParams )Konvertiert die Farben eines Bildes in Schwarz-Weiß. Verfügt über andere Eigenschaften als die Methode ConvertToBW.Für Graustufen- und Farbbilder
ConvertToBW( [optional] threshold: int )Konvertiert ein Bild in Schwarz-Weiß. Sie können einen Helligkeitsschwellenwert angeben. Werte oberhalb des Schwellenwerts werden als weiß betrachtet, Werte unterhalb des Schwellenwerts als schwarz. Der Helligkeitsschwellenwert kann im Bereich von 0 bis 255 liegen.Für alle Bilder
CreateBinarizationParams(): IBinarizationParamsErstellt ein Objekt mit Parametern für die Methode Binarize.Für alle Bilder
CreateContourSmootherParams(): IContourSmootherParamsErstellt ein Objekt mit Parametern für den Konturglätter.Für alle Bilder
CreateLocalContrastFilterParams(): ILocalContrastParamsErstellt ein Objekt mit Parametern für die Kontrastanpassung. Die Parameter des Filters sind auf Standardwerte gesetzt.Für alle Bilder
CreateShadowsHighlightsFilterParams(): IShadowsHighlightsParamsErstellt ein Objekt mit Parametern für die Aktion zum Ändern eines Schattenaufhellungseffekts.Für alle Bilder
Crop( rect: string )Schneidet das Bild auf das angegebene Rechteck zu.Für alle Bilder
CutOut( rect: string ): IEditablePictureObjectSchneidet ein angegebenes Rechteck aus dem Bild aus und gibt dieses Rechteck zurück.Für alle Bilder
Deskew( [optional] byLines: bool, [optional] byBlackSquares: bool, [optional] byText: bool )Begradigt die Schieflage des Bildes. Die Schieflage des Bildes kann anhand gerader Linien, schwarzer Quadrate oder Text korrigiert werden. Standardmäßig ist der Parameter byText auf true gesetzt.Für alle Bilder
Despeckle( [optional] garbageSize: int )Entfernt Bildstörungen aus Schwarz-Weiß-Bildern. Bildstörungen bis zur angegebenen Größe werden entfernt. Wenn der Parameter garbageSize nicht angegeben ist, wird die Größe automatisch ermittelt.Nur für Schwarz-Weiß-Bilder
Erase( rectangle: string, [optional] red: int, [optional] green: int, [optional] blue: int )Löscht einen Bereich im Bild. Sie können die Farbe angeben, mit der der Bereich gelöscht wird. Standardmäßig wird Schwarz verwendet.Für alle Bilder
FlipHorizontal()Spiegelt das Bild horizontal.Für alle Bilder
FlipVertical()Spiegelt das Bild vertikal.Für alle Bilder
FreeScale( newWidth: int, newHeight: int, newResolution: int )Ändert die Größe der Seite entsprechend den neuen Werten.Für alle Bilder
Invert( [optional] rectString: string )Invertiert das Bild. Sie können einen string mit den Koordinaten des zu invertierenden Rechtecks angeben.Für alle Bilder
NewRectsArray(): IRectsErstellt eine neue Sammlung von Rechtecken. Gibt ein IRects-Objekt zurück.Nur für Farbbilder
RemoveMotionBlur()Entfernt Unschärfen, die durch Bewegungen des Dokuments, der Kamera oder des Scanners während des Scannens verursacht werden.Für alle Bilder
RemoveStamps( color: TColorToFilter, rects: IRects )Löscht farbige Stempel und andere Markierungen in einer angegebenen Farbe aus einem Bild. Weitere Informationen finden Sie unter Farbige Stempel aus einem Bild entfernen.Nur für Farbbilder
RemoveStampsExt( colorsToFilter: string )Entfernt farbige Stempel und andere Markierungen mit einem verbesserten Algorithmus aus einem Bild, der mehr Farben entfernt. Dies ist die empfohlene Methode. Weitere Informationen finden Sie unter Zusätzliche Stempelfarben entfernen.Nur für Farbbilder
Rotate( angle: int )Dreht das Bild im Uhrzeigersinn auf den angegebenen Winkel.Für alle Bilder
Scale( ratio: int )Streckt oder komprimiert das Bild ausgehend von der Ausgangsgröße von 100 %. Die Methode wirkt sich nur auf die Pixelgröße des Bildes aus. Die physische Bildgröße bleibt unverändert.Für alle Bilder
Der an die CutOut- und Crop-Methoden übergebene Parameter rect ist ein String der Form "[left, top, right, bottom]". Um diesen String zu erhalten, rufen Sie die Methode ToString eines beliebigen IRect-Objekts auf oder verwenden die Methode Rect von IFlexiCaptureTools (FCTools).

Farbige Stempel aus einem Bild entfernen

Die Methode RemoveStamps löscht farbige Stempel und andere Markierungen einer angegebenen Farbe aus einem Bild. Diese Methode funktioniert nur bei Farbbildern.
ParameterTypBeschreibung
colorTColorToFilterDie Farbe der zu entfernenden Stempel.
rectsIRectsDie Rectangle-Sammlung der zu entfernenden Stempel.
Das folgende Beispielskript für das Ereignis On User Command entfernt rote Stempel von allen Seiten. Der gesamte Seitenbereich wird nach Stempeln durchsucht.
MainWindow.TaskWindow.OpenDocument( MainWindow.TaskWindow.EditorWindow.Document );
foreach (IPage page in MainWindow.TaskWindow.EditorWindow.Document.Pages)
{
    if (page.Picture.IsColor)
    {
        IEditablePictureObject editablePicture = page.Picture.CreateEditableCopy();
        IRects rects = editablePicture.NewRectsArray();
        rects.AddRect(0, 0, editablePicture.Width - 1, editablePicture.Height - 1); // gesamte Seite
        editablePicture.RemoveStamps(TColorToFilter.CTF_Red, rects);
        page.ReplaceImage(editablePicture);
    }
}

Zusätzliche Stempelfarben entfernen

Die Methode RemoveStampsExt entfernt farbige Stempel und andere Markierungen einer angegebenen Farbe aus einem Bild. Sie ähnelt RemoveStamps, verwendet jedoch einen verbesserten Algorithmus, der mehr Farben entfernt. Dies ist die empfohlene Methode zum Entfernen von Stempeln. Der Parameter colorsToFilter (string) legt die Farbe der zu entfernenden Stempel fest:
  • Akzeptiert die folgenden string-Werte: Red, Green, Blue, Yellow, Orange, LightBlue und Purple (Groß- und Kleinschreibung wird nicht berücksichtigt).
  • Sie können mehrere, durch Kommas getrennte Werte angeben, zum Beispiel "Red, Green".
  • Sie können eine leere Zeichenfolge ("") angeben, damit das Programm automatisch die passende Stempelfarbe auswählt. Das Programm entfernt alle Stempel, die es in einem Bild erkennt und die einen der zulässigen Farbwerte haben.
Das folgende Beispielskript für das Ereignis On User Command entfernt rote und grüne Stempel von allen Seiten:
foreach (IPage page in Document.Pages)
{
    if (page.Picture.IsColor)
    {
        IPictureObject picture = page.Picture;
        IEditablePictureObject editablePicture = picture.CreateEditableCopy();
        editablePicture.RemoveStampsExt("Red, Green");
        page.ReplaceImage(editablePicture);
    }
}

Beispiele für benutzerdefinierte Verarbeitungsstufen

Diese Skripte zeigen, wie Methoden des Objekts IEditablePictureObject in benutzerdefinierten Verarbeitungsstufen verwendet werden.

Lokalen Kontrastfilter anwenden

Dieses Skript erstellt ein Objekt mit Parametern für den lokalen Kontrastfilter, legt die Parameter manuell fest und wendet den Filter auf ein Bild an.
foreach( IPage page in Document.Pages )
{
    IPictureObject picture = page.Picture;
    IEditablePictureObject editablePicture = picture.CreateEditableCopy();
    // Erstellen eines Objekts mit Parametern (Parameter sind standardmäßig gesetzt)
    ILocalContrastParams localContrastParams = editablePicture.CreateLocalContrastFilterParams();
    // Festlegen der Parameter, deren Werte anschließend geändert werden
    localContrastParams.Radius = 7;
    localContrastParams.NoiseLevel = 200;
    // Anwenden eines Filters auf das Bild
    editablePicture.ApplyLocalContrastFilter( localContrastParams );
    // Ersetzen des Seitenbilds durch das geänderte Bild
    page.ReplaceImage( editablePicture );
}

Ein Bild mit benutzerdefinierten Parametern binarisieren

Dieses Skript erstellt ein Objekt mit Parametern für die Methode Binarize und wandelt das Bild mit den festgelegten Parametern in Schwarz-Weiß um.
foreach ( IPage page in Document.Pages )
{
    IPictureObject picture = page.Picture;
    IEditablePictureObject editablePicture = picture.CreateEditableCopy();
    // Erstellen eines Objekts mit Parametern (Parameter sind standardmäßig gesetzt)
    IBinarizationParams binarizationParams =  editablePicture.CreateBinarizationParams();
    // Festlegen des true- oder false-Parameters
    binarizationParams.SmoothTexture = false;
    editablePicture.Binarize( binarizationParams );
    page.ReplaceImage( editablePicture );
}

Ausgewählte Seiten in der Verifizierungsstation optimieren

Dieses Skript erhöht den Kontrast, entfernt Bildrauschen, führt eine automatische Zuschneidung durch und reduziert Unschärfe auf den ausgewählten Seiten. Ein Operator der Verifizierungsstation führt das Skript aus.
foreach( IPageItem pageItem in MainWindow.Selection.PageItems) {
    pageItem.TaskWindow.CloseEditorWindow();
    pageItem.TaskWindow.OpenDocument(  pageItem.DocumentItem.Document );
    IPage page = pageItem.Page;
    IEditablePictureObject editablePicture = page.Picture.CreateEditableCopy();
    // Wendet die Bildtransformationen an
    editablePicture.AutoCrop();
    editablePicture.ApplySigmaFilter();
    editablePicture.ApplyMultiscaleLocalContrastFilter();
    editablePicture.RemoveMotionBlur();
    // Ersetzt das ursprüngliche Dokumentbild durch das bearbeitete Bild
    page.ReplaceImage( editablePicture );
    pageItem.TaskWindow.CloseDocument(  pageItem.DocumentItem.Document );
}