OCRParams Class Documentation

classOCRParams

Namespace: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()

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:

bool

Get the image preprocessing enable state. True if any image preprocessing is on.

get_engine

std::stringget_engine()

Returns:

std::string

Use the Tesseract4Engine constant to select the Tesseract v4 engine.

get_performance

OCRPerformanceget_performance()

Returns:

OCRPerformance

The desired performance mode for the OCR engine, balancing speed versus accuracy.

get_resolution

doubleget_resolution()

Returns:

double

The resolution, in DPI, at which images are rendered for OCR processing.

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:

void

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.

set_enable_image_preprocessing

voidset_enable_image_preprocessing(boolenable)

Parameters

enable: bool

true to enable all image preprocessing, false to disable it. Once the OCREngine is initialized, this setting is permanent.

Returns:

void

Enable 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:

void

Use the Tesseract4Engine constant to select the Tesseract v4 engine.

set_page_segmentation_mode

voidset_page_segmentation_mode(OCRPageSegmentationModemode)

Parameters

mode: OCRPageSegmentationMode

the page segmentation mode, which controls how the OCR engine detects text regions on the page

Returns:

void

The page segmentation mode, which controls how the OCR engine detects text regions on the page.

set_performance

voidset_performance(OCRPerformanceperf)

Parameters

perf: OCRPerformance

the desired performance mode for the OCR engine, balancing speed versus accuracy

Returns:

void

The desired performance mode for the OCR engine, balancing speed versus accuracy.

set_resolution

voidset_resolution(doublevalue)

Parameters

value: double

the resolution, in DPI, at which images are rendered for OCR processing

Returns:

void

The resolution, in DPI, at which images are rendered for OCR processing.