OpenCV  4.4.0
Open Source Computer Vision
Public Member Functions | Static Public Member Functions | List of all members
cv::text::OCRTesseract Class Referenceabstract

OCRTesseract class provides an interface with the tesseract-ocr API (v3.02.02) in C++. More...

#include <opencv2/text/ocr.hpp>

Inheritance diagram for cv::text::OCRTesseract:
cv::text::BaseOCR

Public Member Functions

virtual void run (Mat &image, std::string &output_text, std::vector< Rect > *component_rects=NULL, std::vector< std::string > *component_texts=NULL, std::vector< float > *component_confidences=NULL, int component_level=0) CV_OVERRIDE
 Recognize text using the tesseract-ocr API. More...
 
virtual void run (Mat &image, Mat &mask, std::string &output_text, std::vector< Rect > *component_rects=NULL, std::vector< std::string > *component_texts=NULL, std::vector< float > *component_confidences=NULL, int component_level=0) CV_OVERRIDE
 
String run (InputArray image, int min_confidence, int component_level=0)
 
String run (InputArray image, InputArray mask, int min_confidence, int component_level=0)
 
virtual void setWhiteList (const String &char_whitelist)=0
 
- Public Member Functions inherited from cv::text::BaseOCR
virtual ~BaseOCR ()
 

Static Public Member Functions

static Ptr< OCRTesseractcreate (const char *datapath=NULL, const char *language=NULL, const char *char_whitelist=NULL, int oem=OEM_DEFAULT, int psmode=PSM_AUTO)
 Creates an instance of the OCRTesseract class. Initializes Tesseract. More...
 

Detailed Description

OCRTesseract class provides an interface with the tesseract-ocr API (v3.02.02) in C++.

Notice that it is compiled only when tesseract-ocr is correctly installed.

Note

Member Function Documentation

◆ create()

static Ptr<OCRTesseract> cv::text::OCRTesseract::create ( const char *  datapath = NULL,
const char *  language = NULL,
const char *  char_whitelist = NULL,
int  oem = OEM_DEFAULT,
int  psmode = PSM_AUTO 
)
static
Python:
retval=cv.text.OCRTesseract_create([, datapath[, language[, char_whitelist[, oem[, psmode]]]]])

Creates an instance of the OCRTesseract class. Initializes Tesseract.

Parameters
datapaththe name of the parent directory of tessdata ended with "/", or NULL to use the system's default directory.
languagean ISO 639-3 code or NULL will default to "eng".
char_whitelistspecifies the list of characters used for recognition. NULL defaults to "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ".
oemtesseract-ocr offers different OCR Engine Modes (OEM), by default tesseract::OEM_DEFAULT is used. See the tesseract-ocr API documentation for other possible values.
psmodetesseract-ocr offers different Page Segmentation Modes (PSM) tesseract::PSM_AUTO (fully automatic layout analysis) is used. See the tesseract-ocr API documentation for other possible values.

◆ run() [1/4]

virtual void cv::text::OCRTesseract::run ( Mat image,
std::string &  output_text,
std::vector< Rect > *  component_rects = NULL,
std::vector< std::string > *  component_texts = NULL,
std::vector< float > *  component_confidences = NULL,
int  component_level = 0 
)
virtual
Python:
retval=cv.text_OCRTesseract.run(image, min_confidence[, component_level])
retval=cv.text_OCRTesseract.run(image, mask, min_confidence[, component_level])

Recognize text using the tesseract-ocr API.

Takes image on input and returns recognized text in the output_text parameter. Optionally provides also the Rects for individual text elements found (e.g. words), and the list of those text elements with their confidence values.

Parameters
imageInput image CV_8UC1 or CV_8UC3
output_textOutput text of the tesseract-ocr.
component_rectsIf provided the method will output a list of Rects for the individual text elements found (e.g. words or text lines).
component_textsIf provided the method will output a list of text strings for the recognition of individual text elements found (e.g. words or text lines).
component_confidencesIf provided the method will output a list of confidence values for the recognition of individual text elements found (e.g. words or text lines).
component_levelOCR_LEVEL_WORD (by default), or OCR_LEVEL_TEXTLINE.

Implements cv::text::BaseOCR.

◆ run() [2/4]

virtual void cv::text::OCRTesseract::run ( Mat image,
Mat mask,
std::string &  output_text,
std::vector< Rect > *  component_rects = NULL,
std::vector< std::string > *  component_texts = NULL,
std::vector< float > *  component_confidences = NULL,
int  component_level = 0 
)
virtual
Python:
retval=cv.text_OCRTesseract.run(image, min_confidence[, component_level])
retval=cv.text_OCRTesseract.run(image, mask, min_confidence[, component_level])

Implements cv::text::BaseOCR.

◆ run() [3/4]

String cv::text::OCRTesseract::run ( InputArray  image,
int  min_confidence,
int  component_level = 0 
)
Python:
retval=cv.text_OCRTesseract.run(image, min_confidence[, component_level])
retval=cv.text_OCRTesseract.run(image, mask, min_confidence[, component_level])

◆ run() [4/4]

String cv::text::OCRTesseract::run ( InputArray  image,
InputArray  mask,
int  min_confidence,
int  component_level = 0 
)
Python:
retval=cv.text_OCRTesseract.run(image, min_confidence[, component_level])
retval=cv.text_OCRTesseract.run(image, mask, min_confidence[, component_level])

◆ setWhiteList()

virtual void cv::text::OCRTesseract::setWhiteList ( const String char_whitelist)
pure virtual
Python:
None=cv.text_OCRTesseract.setWhiteList(char_whitelist)

The documentation for this class was generated from the following file: