| OpenCV 3.4.8 Open Source Computer Vision

Classes | Enumerations | Functions
Scene Text Recognition
Scene Text Detection and Recognition

## Classes
class | cv::text::BaseOCR
class | cv::text::OCRHMMDecoder
| OCRHMMDecoder class provides an interface for OCR using Hidden Markov Models. More...
class | cv::text::OCRTesseract
| OCRTesseract class provides an interface with the tesseract-ocr API (v3.02.02) in C++. More...

## Enumerations
enum | { cv::text::OCR_LEVEL_WORD, cv::text::OCR_LEVEL_TEXTLINE }
enum | cv::text::classifier_type { cv::text::OCR_KNN_CLASSIFIER = 0, cv::text::OCR_CNN_CLASSIFIER = 1 }
enum | cv::text::decoder_mode { cv::text::OCR_DECODER_VITERBI = 0 }
enum | cv::text::ocr_engine_mode { cv::text::OEM_TESSERACT_ONLY, cv::text::OEM_CUBE_ONLY, cv::text::OEM_TESSERACT_CUBE_COMBINED, cv::text::OEM_DEFAULT }
| Tesseract.OcrEngineMode Enumeration. More...
enum | cv::text::page_seg_mode { cv::text::PSM_OSD_ONLY, cv::text::PSM_AUTO_OSD, cv::text::PSM_AUTO_ONLY, cv::text::PSM_AUTO, cv::text::PSM_SINGLE_COLUMN, cv::text::PSM_SINGLE_BLOCK_VERT_TEXT, cv::text::PSM_SINGLE_BLOCK, cv::text::PSM_SINGLE_LINE, cv::text::PSM_SINGLE_WORD, cv::text::PSM_CIRCLE_WORD, cv::text::PSM_SINGLE_CHAR }
| Tesseract.PageSegMode Enumeration. More...

## Functions
Ptr< OCRHMMDecoder::ClassifierCallback > | cv::text::loadOCRHMMClassifier (const String &filename, int classifier)
| Allow to implicitly load the default character classifier when creating an OCRHMMDecoder object. More...
Ptr< OCRHMMDecoder::ClassifierCallback > | cv::text::loadOCRHMMClassifierCNN (const String &filename)
| Allow to implicitly load the default character classifier when creating an OCRHMMDecoder object. More...
Ptr< OCRHMMDecoder::ClassifierCallback > | cv::text::loadOCRHMMClassifierNM (const String &filename)
| Allow to implicitly load the default character classifier when creating an OCRHMMDecoder object. More...

## Detailed Description

## Enumeration Type Documentation

## § anonymous enum

anonymous enum

`#include <opencv2/text/ocr.hpp>`

Enumerator
OCR_LEVEL_WORD Python: cv.text.OCR_LEVEL_WORD |
OCR_LEVEL_TEXTLINE Python: cv.text.OCR_LEVEL_TEXTLINE |

## § classifier_type

enum cv::text::classifier_type

`#include <opencv2/text/ocr.hpp>`

Enumerator
OCR_KNN_CLASSIFIER Python: cv.text.OCR_KNN_CLASSIFIER |
OCR_CNN_CLASSIFIER Python: cv.text.OCR_CNN_CLASSIFIER |

## § decoder_mode

enum cv::text::decoder_mode

`#include <opencv2/text/ocr.hpp>`

Enumerator
OCR_DECODER_VITERBI Python: cv.text.OCR_DECODER_VITERBI |

## § ocr_engine_mode

enum cv::text::ocr_engine_mode

`#include <opencv2/text/ocr.hpp>`

Tesseract.OcrEngineMode Enumeration.

Enumerator
OEM_TESSERACT_ONLY Python: cv.text.OEM_TESSERACT_ONLY |
OEM_CUBE_ONLY Python: cv.text.OEM_CUBE_ONLY |
OEM_TESSERACT_CUBE_COMBINED Python: cv.text.OEM_TESSERACT_CUBE_COMBINED |
OEM_DEFAULT Python: cv.text.OEM_DEFAULT |

## § page_seg_mode

enum cv::text::page_seg_mode

`#include <opencv2/text/ocr.hpp>`

Tesseract.PageSegMode Enumeration.

Enumerator
PSM_OSD_ONLY Python: cv.text.PSM_OSD_ONLY |
PSM_AUTO_OSD Python: cv.text.PSM_AUTO_OSD |
PSM_AUTO_ONLY Python: cv.text.PSM_AUTO_ONLY |
PSM_AUTO Python: cv.text.PSM_AUTO |
PSM_SINGLE_COLUMN Python: cv.text.PSM_SINGLE_COLUMN |
PSM_SINGLE_BLOCK_VERT_TEXT Python: cv.text.PSM_SINGLE_BLOCK_VERT_TEXT |
PSM_SINGLE_BLOCK Python: cv.text.PSM_SINGLE_BLOCK |
PSM_SINGLE_LINE Python: cv.text.PSM_SINGLE_LINE |
PSM_SINGLE_WORD Python: cv.text.PSM_SINGLE_WORD |
PSM_CIRCLE_WORD Python: cv.text.PSM_CIRCLE_WORD |
PSM_SINGLE_CHAR Python: cv.text.PSM_SINGLE_CHAR |

## Function Documentation

## § loadOCRHMMClassifier()

Ptr<OCRHMMDecoder::ClassifierCallback> cv::text::loadOCRHMMClassifier | ( | const String & | filename,
|  | int | classifier
| ) |  |

Python:
| retval | = | cv.text.loadOCRHMMClassifier( | filename, classifier | )

`#include <opencv2/text/ocr.hpp>`

Allow to implicitly load the default character classifier when creating an OCRHMMDecoder object.

Parameters

  filename | The XML or YAML file with the classifier model (e.g. OCRBeamSearch_CNN_model_data.xml.gz)
  classifier | Can be one of classifier_type enum values.

## § loadOCRHMMClassifierCNN()

Ptr<OCRHMMDecoder::ClassifierCallback> cv::text::loadOCRHMMClassifierCNN | ( | const String & | filename | ) |

Python:
| retval | = | cv.text.loadOCRHMMClassifierCNN( | filename | )

`#include <opencv2/text/ocr.hpp>`

Allow to implicitly load the default character classifier when creating an OCRHMMDecoder object.

Parameters

  filename | The XML or YAML file with the classifier model (e.g. OCRBeamSearch_CNN_model_data.xml.gz)

The CNN default classifier is based in the scene text recognition method proposed by Adam Coates & Andrew NG in [Coates11a]. The character classifier consists in a Single Layer Convolutional Neural Network and a linear classifier. It is applied to the input image in a sliding window fashion, providing a set of recognitions at each window location.

Deprecated:
  use loadOCRHMMClassifier instead

## § loadOCRHMMClassifierNM()

Ptr<OCRHMMDecoder::ClassifierCallback> cv::text::loadOCRHMMClassifierNM | ( | const String & | filename | ) |

Python:
| retval | = | cv.text.loadOCRHMMClassifierNM( | filename | )

`#include <opencv2/text/ocr.hpp>`

Allow to implicitly load the default character classifier when creating an OCRHMMDecoder object.

Parameters

  filename | The XML or YAML file with the classifier model (e.g. OCRHMM_knn_model_data.xml)

The KNN default classifier is based in the scene text recognition method proposed by Lukás Neumann & Jiri Matas in [Neumann11b]. Basically, the region (contour) in the input image is normalized to a fixed size, while retaining the centroid and aspect ratio, in order to extract a feature vector based on gradient orientations along the chain-code of its perimeter. Then, the region is classified using a KNN model trained with synthetic data of rendered characters with different standard font types.

Deprecated:
  loadOCRHMMClassifier instead