find_textT_find_textFindTextFindText (Operator)

Name

find_textT_find_textFindTextFindText — Segmentieren von Text in einem Bild.

Signatur

find_text(Image : : TextModel : TextResultID)

Herror T_find_text(const Hobject Image, const Htuple TextModel, Htuple* TextResultID)

void FindText(const HObject& Image, const HTuple& TextModel, HTuple* TextResultID)

HTextResult HImage::FindText(const HTextModel& TextModel) const

HTextResult HTextModel::FindText(const HImage& Image) const

void HTextResult::HTextResult(const HImage& Image, const HTextModel& TextModel)

void HTextResult::FindText(const HImage& Image, const HTextModel& TextModel)

static void HOperatorSet.FindText(HObject image, HTuple textModel, out HTuple textResultID)

HTextResult HImage.FindText(HTextModel textModel)

HTextResult HTextModel.FindText(HImage image)

public HTextResult(HImage image, HTextModel textModel)

void HTextResult.FindText(HImage image, HTextModel textModel)

Beschreibung

find_textfind_textFindTextFindTextFindText segmentiert Text im Bild ImageImageImageImageimage welcher durch das Textmodell TextModelTextModelTextModelTextModeltextModel beschrieben wird und gibt das Ergebnis in TextResultIDTextResultIDTextResultIDTextResultIDtextResultID zurück. Die einzelnen Ergebnisse in TextResultIDTextResultIDTextResultIDTextResultIDtextResultID können mit get_text_resultget_text_resultGetTextResultGetTextResultGetTextResult und get_text_objectget_text_objectGetTextObjectGetTextObjectGetTextObject abgefragt werden.

Die Ergebnisse in TextResultIDTextResultIDTextResultIDTextResultIDtextResultID hängen davon ab, welcher ModeModeModeModemode bei der Erzeugung von TextModelTextModelTextModelTextModeltextModel mit create_text_model_readercreate_text_model_readerCreateTextModelReaderCreateTextModelReaderCreateTextModelReader gewählt wurde.

Für Textmodelle mit ModeModeModeModemode = 'auto'"auto""auto""auto""auto" extrahiert und klassifiziert find_textfind_textFindTextFindTextFindText Text jeglicher Größe im Bild ImageImageImageImageimage. 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_paramset_text_model_paramSetTextModelParamSetTextModelParamSetTextModelParam.

Für die Textsegmentierung mit Textmodellen mit ModeModeModeModemode = 'manual'"manual""manual""manual""manual" müssen immer geeignete Parameter wie die Höhe und Breite von Buchstaben mittels set_text_model_paramset_text_model_paramSetTextModelParamSetTextModelParamSetTextModelParam gesetzt werden. Das Eingabebild wird dann vorverarbeitet, so dass Strukturen die möglicherweise Buchstaben sind hervorgehoben werden. Das vorverarbeitete Bild kann anschließend von TextResultIDTextResultIDTextResultIDTextResultIDtextResultID abgefragt werden, falls für TextModelTextModelTextModelTextModeltextModel 'persistence'"persistence""persistence""persistence""persistence" auf 'true' gesetzt wurde.

Sowohl für Textmodelle mit ModeModeModeModemode = 'auto'"auto""auto""auto""auto", als auch für diese mit ModeModeModeModemode = 'manual'"manual""manual""manual""manual" wendet find_textfind_textFindTextFindTextFindText mehrere Schwellwerte 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 TextModelTextModelTextModelTextModeltextModel erfüllt. Für Textmodelle mit ModeModeModeModemode = 'auto'"auto""auto""auto""auto" besteht eine Zeile aus mindestens zwei Buchstaben, während für Textmodelle mit ModeModeModeModemode = 'manual'"manual""manual""manual""manual" eine Zeile aus mindestens drei Buchstaben besteht. Anschließend werden Satz- und Trennzeichen hinzugefügt, sofern die entsprechenden Parameter via set_text_model_paramset_text_model_paramSetTextModelParamSetTextModelParamSetTextModelParam gesetzt wurden. Enthält TextModelTextModelTextModelTextModeltextModel vorgegebenen Zeilenstrukturen ('text_line_structure'"text_line_structure""text_line_structure""text_line_structure""text_line_structure"), so wird getestet, ob die entstandene Zeile zu einer diesen Strukturen passt.

find_textfind_textFindTextFindTextFindText segmentiert Text der ungefähr horizontal in ImageImageImageImageimage ausgerichtet ist. Die Operatoren text_line_orientationtext_line_orientationTextLineOrientationTextLineOrientationTextLineOrientation und rotate_imagerotate_imageRotateImageRotateImageRotateImage können verwendet werden um diese Ausrichtung zu erreichen.

Da beim Aufruf von find_textfind_textFindTextFindTextFindText und folgenden Operationen für das Ergebnis der Segmentierung Speicher allokiert wird, sollte das Segmentierungsergebnis 'TextResultID'"TextResultID""TextResultID""TextResultID""TextResultID" mit clear_text_resultclear_text_resultClearTextResultClearTextResultClearTextResult freigegeben werden, sobald es nicht mehr benötigt wird.

Ausführungsinformationen

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.

Parameter

ImageImageImageImageimage (input_object)  singlechannelimage objectHImageHImageHobject (byte / uint2)

Eingabebild.

TextModelTextModelTextModelTextModeltextModel (input_control)  text_model HTextModel, HTupleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Textmodell welches den zu segmentierenden Text beschreibt.

TextResultIDTextResultIDTextResultIDTextResultIDtextResultID (output_control)  text_result HTextResult, HTupleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Ergebnis der Segmentierung.

Beispiel (HDevelop)

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)

Ergebnis

Sind alle Parameter gültig, gibt find_textfind_textFindTextFindTextFindText 2 (H_MSG_TRUE) zurück. Wenn nötig wird eine Fehlerbehandlung durchgeführt.

Vorgänger

create_text_model_readercreate_text_model_readerCreateTextModelReaderCreateTextModelReaderCreateTextModelReader, set_text_model_paramset_text_model_paramSetTextModelParamSetTextModelParamSetTextModelParam, text_line_orientationtext_line_orientationTextLineOrientationTextLineOrientationTextLineOrientation, text_line_slanttext_line_slantTextLineSlantTextLineSlantTextLineSlant

Nachfolger

get_text_resultget_text_resultGetTextResultGetTextResultGetTextResult, get_text_objectget_text_objectGetTextObjectGetTextObjectGetTextObject

Modul

OCR/OCV