OCRParams Class Documentation
classOCRParamsNamespace:datalogics_interface
Detailed Description
Parameters for configuring the OCR engine.
OCRParams controls settings such as the engine to use, the resolution of the input images, the language(s) to recognize, performance tuning, page segmentation mode, candidate font names for placing text, and image preprocessing options.
Referenced by
Constructor & Destructor Documentation
OCRParams
OCRParams()Create OCRParams with defaults.
OCRParams
OCRParams(const OCRParams &other)Parameters
other: const OCRParams &
Copy constructor.
OCRParams
OCRParams(OCRParams &&)Parameters
~OCRParams
~OCRParams()Member Function Documentation
get_candidate_font_names
std::vector< std::string >get_candidate_font_names()Returns:
std::vector< std::string >The default list should work well in most cases. If you're using text that isn't represented by Latin fonts, or by Chinese, Japanese, or Korean fonts, then retrieve this list, add the font that can represent that text, then set that new list on this object.
Enough font names must be supplied to cover the expected languages/scripts in use.
The code selects a font to represent each word. If a word code-switches between different scripts, for instance, if it contains non-Latin text and Arabic numerals, then make sure to supply the name of a font family that can handle both the text and the numerals.
The quality of the results depends on the font choice. The list is searched in order until a font works for a particular word. To make the text fit better, it's recommended to list proportional fonts before fixed-width fonts. Decorative fonts with flourishes, like Zapf Chancery, deliver poor results. Generally, supply a font that would be used in block text, such as in a newspaper or work of literature, such as Times Roman, or a font already in the list, like MinionPro.
If the PlaceTextUnder method in OCREngine can't identify a font that covers the whole text of a word, an exception will be thrown.
get_enable_image_preprocessing
boolget_enable_image_preprocessing()Returns:
boolGet the image preprocessing enable state. True if any image preprocessing is on.
get_engine
std::stringget_engine()Returns:
std::stringUse the Tesseract4Engine constant to select the Tesseract v4 engine.
get_languages
std::vector< OCRLanguageSetting >get_languages()Returns:
std::vector< OCRLanguageSetting >The list of languages the OCR engine should recognize.
get_page_segmentation_mode
OCRPageSegmentationModeget_page_segmentation_mode()Returns:
OCRPageSegmentationModeThe page segmentation mode, which controls how the OCR engine detects text regions on the page.
get_performance
OCRPerformanceget_performance()Returns:
OCRPerformanceThe desired performance mode for the OCR engine, balancing speed versus accuracy.
get_resolution
doubleget_resolution()Returns:
doubleThe resolution, in DPI, at which images are rendered for OCR processing.
operator=
OCRParams &operator=(const OCRParams &other)Parameters
other: const OCRParams &
Returns:
OCRParams &Copy assignment.
operator=
OCRParams &operator=(OCRParams &&)Parameters
Returns:
OCRParams &set_candidate_font_names
voidset_candidate_font_names(const std::vector< std::string > &font_names)Parameters
font_names: const std::vector< std::string > &the names of candidate fonts for placing text under an image
Returns:
voidThe default list should work well in most cases. If you're using text that isn't represented by Latin fonts, or by Chinese, Japanese, or Korean fonts, then retrieve this list, add the font that can represent that text, then set that new list on this object.
Enough font names must be supplied to cover the expected languages/scripts in use.
The code selects a font to represent each word. If a word code-switches between different scripts, for instance, if it contains non-Latin text and Arabic numerals, then make sure to supply the name of a font family that can handle both the text and the numerals.
The quality of the results depends on the font choice. The list is searched in order until a font works for a particular word. To make the text fit better, it's recommended to list proportional fonts before fixed-width fonts. Decorative fonts with flourishes, like Zapf Chancery, deliver poor results. Generally, supply a font that would be used in block text, such as in a newspaper or work of literature, such as Times Roman, or a font already in the list, like MinionPro.
If the PlaceTextUnder method in OCREngine can't identify a font that covers the whole text of a word, an exception will be thrown.
set_enable_image_preprocessing
voidset_enable_image_preprocessing(boolenable)Parameters
enable: booltrue to enable all image preprocessing, false to disable it. Once the OCREngine is initialized, this setting is permanent.
Returns:
voidEnable all image preprocessing, default enabled. Note that once the OCREngine is initialized, this setting is permanent.
set_engine
voidset_engine(const std::string &value)Parameters
value: const std::string &the name of the OCR engine to use
Returns:
voidUse the Tesseract4Engine constant to select the Tesseract v4 engine.
set_languages
voidset_languages(const std::vector< OCRLanguageSetting > &languages)Parameters
languages: const std::vector< OCRLanguageSetting > &the list of languages the OCR engine should recognize
Returns:
voidThe list of languages the OCR engine should recognize.
set_page_segmentation_mode
voidset_page_segmentation_mode(OCRPageSegmentationModemode)Parameters
mode: OCRPageSegmentationModethe page segmentation mode, which controls how the OCR engine detects text regions on the page
Returns:
voidThe page segmentation mode, which controls how the OCR engine detects text regions on the page.
set_performance
voidset_performance(OCRPerformanceperf)Parameters
perf: OCRPerformancethe desired performance mode for the OCR engine, balancing speed versus accuracy
Returns:
voidThe desired performance mode for the OCR engine, balancing speed versus accuracy.
set_resolution
voidset_resolution(doublevalue)Parameters
value: doublethe resolution, in DPI, at which images are rendered for OCR processing
Returns:
voidThe resolution, in DPI, at which images are rendered for OCR processing.