find_text — Segmentieren von Text in einem Bild.
find_text(Image : : TextModel : TextResultID)
find_text segmentiert Text im Bild Image welcher durch das
Textmodell TextModel beschrieben wird und gibt das Ergebnis in
TextResultID zurück.
Die einzelnen Ergebnisse in TextResultID können mit
get_text_result und get_text_object abgefragt werden.
Die Ergebnisse in TextResultID hängen davon ab, welcher
Mode bei der Erzeugung von TextModel mit
create_text_model_reader gewählt wurde.
Für Textmodelle mit Mode = 'auto' extrahiert und
klassifiziert find_text Text jeglicher Größe im Bild Image.
Es ist außerdem möglich, die Suche auf Buchstaben mit besonderen
Eigenschaften (minimale/maximale Höhe, Breite, Strichbreite...)
einzuschränken, siehe set_text_model_param.
Für die Textsegmentierung mit Textmodellen mit
Mode = 'manual' müssen immer geeignete Parameter wie die
Höhe und Breite von Buchstaben mittels set_text_model_param gesetzt
werden. Das Eingabebild wird dann vorverarbeitet, so dass Strukturen die
möglicherweise Buchstaben sind hervorgehoben werden. Das vorverarbeitete
Bild kann anschließend von TextResultID abgefragt werden, falls
für TextModel 'persistence' auf 'true' gesetzt
wurde.
Sowohl für Textmodelle mit Mode = 'auto', als auch für
diese mit Mode = 'manual' wendet find_text
mehrere Schwellenwerte auf das Eingabebild an und selektiert
Buchstabenregionen anhand von regionenbasierten und von grauwertbasierten
Merkmalen. Anschließend werden diese Regionen zu Zeilen gruppiert.
Jede Zeile wird für sich vervollständigt und überprüft ob sie die
Restriktionen in TextModel erfüllt. Für Textmodelle mit
Mode = 'auto' besteht eine Zeile aus mindestens zwei
Buchstaben, während für Textmodelle mit Mode = 'manual'
eine Zeile aus mindestens drei Buchstaben besteht.
Anschließend werden Satz- und Trennzeichen hinzugefügt, sofern die
entsprechenden Parameter via set_text_model_param gesetzt wurden.
Enthält TextModel vorgegebenen Zeilenstrukturen
('text_line_structure'), so wird getestet, ob die entstandene Zeile zu
einer diesen Strukturen passt.
find_text segmentiert Text der ungefähr horizontal in
Image ausgerichtet ist. Die Operatoren text_line_orientation
und rotate_image können verwendet werden um diese Ausrichtung
zu erreichen.
Da beim Aufruf von find_text und folgenden Operationen für das
Ergebnis der Segmentierung Speicher allokiert wird, sollte das
Segmentierungsergebnis TextResultID mit clear_text_result
freigegeben werden, sobald es nicht mehr benötigt wird.
Dieser Operator liefert ein Handle zurück. Es ist zu beachten, dass der Zustand einer Instanz dieses Handletyps durch bestimmte Operatoren geändert werden kann, obwohl das Handle als Eingabeparameter in diesen Operatoren verwendet wird.
Dieser Operator unterstützt Cancel-Timeouts und Interrupts.
Image (input_object) singlechannelimage → object (byte / uint2)
Eingabebild.
TextModel (input_control) text_model → (handle)
Textmodell welches den zu segmentierenden Text beschreibt.
TextResultID (output_control) text_result → (handle)
Ergebnis der Segmentierung.
read_image (Image, 'numbers_scale')
create_text_model_reader ('auto', 'Document_Rej.omc', TextModel)
* Optionally specify text properties
set_text_model_param (TextModel, 'min_char_height', 20)
find_text (Image, TextModel, TextResultID)
* Return character regions and corresponding classification results
get_text_object (Characters, TextResultID, 'all_lines')
get_text_result (TextResultID, 'class', Class)
Sind alle Parameter gültig, gibt find_text 2 (H_MSG_TRUE) zurück. Wenn nötig
wird eine Fehlerbehandlung durchgeführt.
create_text_model_reader,
set_text_model_param,
text_line_orientation,
text_line_slant
get_text_result,
get_text_object
OCR/OCV