import_lexiconT_import_lexiconImportLexiconImportLexicon (Operator)


import_lexiconT_import_lexiconImportLexiconImportLexicon — Create a lexicon from a text file.


import_lexicon( : : Name, FileName : LexiconHandle)

Herror T_import_lexicon(const Htuple Name, const Htuple FileName, Htuple* LexiconHandle)

void ImportLexicon(const HTuple& Name, const HTuple& FileName, HTuple* LexiconHandle)

void HLexicon::HLexicon(const HString& Name, const HString& FileName)

void HLexicon::HLexicon(const char* Name, const char* FileName)

void HLexicon::HLexicon(const wchar_t* Name, const wchar_t* FileName)   (Windows only)

void HLexicon::ImportLexicon(const HString& Name, const HString& FileName)

void HLexicon::ImportLexicon(const char* Name, const char* FileName)

void HLexicon::ImportLexicon(const wchar_t* Name, const wchar_t* FileName)   (Windows only)

static void HOperatorSet.ImportLexicon(HTuple name, HTuple fileName, out HTuple lexiconHandle)

public HLexicon(string name, string fileName)

void HLexicon.ImportLexicon(string name, string fileName)


import_lexiconimport_lexiconImportLexiconImportLexiconImportLexicon creates a new lexicon based on a list of words in the file specified by FileNameFileNameFileNameFileNamefileName. The format of the file is a simple text file with one word per line. By specifying a unique textual NameNameNameNamename, you can later refer to the lexicon from syntax expressions like those used, e.g., by do_ocr_word_mlpdo_ocr_word_mlpDoOcrWordMlpDoOcrWordMlpDoOcrWordMlp.

Note that lexicon support in HALCON is currently not aimed at natural languages. Rather, it is intended as a post-processing step in OCR applications that only need to distinguish between a limited set of not more than a few thousand valid words, e.g., country or product names. When the lexicon file contains entries with special, non-ASCII characters, it is expected to be encoded in UTF-8. However, old lexicon files which use the local 8-bit encoding, can still be loaded as long as they contain at least one byte sequence, which cannot be misinterpreted as UTF-8 character. MVTec itself does not provide any lexica.

Execution Information

This operator returns a handle. Note that the state of an instance of this handle type may be changed by specific operators even though the handle is used as an input parameter by those operators.


NameNameNameNamename (input_control)  string HTupleHTupleHtuple (string) (string) (HString) (char*)

Unique name for the new lexicon.

Default value: 'lex1' "lex1" "lex1" "lex1" "lex1"

FileNameFileNameFileNameFileNamefileName (input_control) HTupleHTupleHtuple (string) (string) (HString) (char*)

Name of a text file containing words for the new lexicon.

Default value: 'words.txt' "words.txt" "words.txt" "words.txt" "words.txt"

File extension: .txt

LexiconHandleLexiconHandleLexiconHandleLexiconHandlelexiconHandle (output_control)  lexicon HLexicon, HTupleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Handle of the lexicon.

Possible Successors

do_ocr_word_mlpdo_ocr_word_mlpDoOcrWordMlpDoOcrWordMlpDoOcrWordMlp, do_ocr_word_svmdo_ocr_word_svmDoOcrWordSvmDoOcrWordSvmDoOcrWordSvm



See also

lookup_lexiconlookup_lexiconLookupLexiconLookupLexiconLookupLexicon, suggest_lexiconsuggest_lexiconSuggestLexiconSuggestLexiconSuggestLexicon