This class represents high-level API for text recognition networks. More...
#include <opencv2/dnn/dnn.hpp>
Public Member Functions | |
TextRecognitionModel () | |
TextRecognitionModel (const Net &network) | |
Create Text Recognition model from deep learning network Call setDecodeType() and setVocabulary() after constructor to initialize the decoding method. | |
TextRecognitionModel (const std::string &model, const std::string &config="") | |
Create text recognition model from network represented in one of the supported formats Call setDecodeType() and setVocabulary() after constructor to initialize the decoding method. | |
const std::string & | getDecodeType () const |
Get the decoding method. | |
const std::vector< std::string > & | getVocabulary () const |
Get the vocabulary for recognition. | |
std::string | recognize (InputArray frame) const |
Given the input frame, create input blob, run net and return recognition result. | |
void | recognize (InputArray frame, InputArrayOfArrays roiRects, std::vector< std::string > &results) const |
Given the input frame, create input blob, run net and return recognition result. | |
TextRecognitionModel & | setDecodeOptsCTCPrefixBeamSearch (int beamSize, int vocPruneSize=0) |
Set the decoding method options for "CTC-prefix-beam-search" decode usage. | |
TextRecognitionModel & | setDecodeType (const std::string &decodeType) |
Set the decoding method of translating the network output into string. | |
TextRecognitionModel & | setVocabulary (const std::vector< std::string > &vocabulary) |
Set the vocabulary for recognition. | |
Public Member Functions inherited from cv::dnn::Model | |
Model () | |
Model (const Model &)=default | |
Model (const Net &network) | |
Create model from deep learning network. | |
Model (const String &model, const String &config="") | |
Create model from deep learning network represented in one of the supported formats. An order of model and config arguments does not matter. | |
Model (Model &&)=default | |
Impl * | getImpl () const |
Impl & | getImplRef () const |
Net & | getNetwork_ () |
Net & | getNetwork_ () const |
operator Net & () const | |
Model & | operator= (const Model &)=default |
Model & | operator= (Model &&)=default |
void | predict (InputArray frame, OutputArrayOfArrays outs) const |
Given the input frame, create input blob, run net and return the output blobs . | |
Model & | setInputCrop (bool crop) |
Set flag crop for frame. | |
Model & | setInputMean (const Scalar &mean) |
Set mean value for frame. | |
void | setInputParams (double scale=1.0, const Size &size=Size(), const Scalar &mean=Scalar(), bool swapRB=false, bool crop=false) |
Set preprocessing parameters for frame. | |
Model & | setInputScale (const Scalar &scale) |
Set scalefactor value for frame. | |
Model & | setInputSize (const Size &size) |
Set input size for frame. | |
Model & | setInputSize (int width, int height) |
Model & | setInputSwapRB (bool swapRB) |
Set flag swapRB for frame. | |
Model & | setPreferableBackend (dnn::Backend backendId) |
Model & | setPreferableTarget (dnn::Target targetId) |
Additional Inherited Members | |
Protected Attributes inherited from cv::dnn::Model | |
Ptr< Impl > | impl |
Detailed Description
This class represents high-level API for text recognition networks.
TextRecognitionModel allows to set params for preprocessing input image. TextRecognitionModel creates net from file with trained weights and config, sets preprocessing input, runs forward pass and return recognition result. For TextRecognitionModel, CRNN-CTC is supported.
- Examples
- samples/dnn/text_detection.cpp.
Constructor & Destructor Documentation
◆ TextRecognitionModel() [1/3]
cv::dnn::TextRecognitionModel::TextRecognitionModel | ( | ) |
◆ TextRecognitionModel() [2/3]
cv::dnn::TextRecognitionModel::TextRecognitionModel | ( | const Net & | network | ) |
Create Text Recognition model from deep learning network Call setDecodeType() and setVocabulary() after constructor to initialize the decoding method.
- Parameters
-
[in] network Net object
◆ TextRecognitionModel() [3/3]
|
inline |
Create text recognition model from network represented in one of the supported formats Call setDecodeType() and setVocabulary() after constructor to initialize the decoding method.
- Parameters
-
[in] model Binary file contains trained weights [in] config Text file contains network configuration
Member Function Documentation
◆ getDecodeType()
const std::string & cv::dnn::TextRecognitionModel::getDecodeType | ( | ) | const |
Get the decoding method.
- Returns
- the decoding method
◆ getVocabulary()
const std::vector< std::string > & cv::dnn::TextRecognitionModel::getVocabulary | ( | ) | const |
Get the vocabulary for recognition.
- Returns
- vocabulary the associated vocabulary
◆ recognize() [1/2]
std::string cv::dnn::TextRecognitionModel::recognize | ( | InputArray | frame | ) | const |
Given the input
frame, create input blob, run net and return recognition result.
- Parameters
-
[in] frame The input image
- Returns
- The text recognition result
◆ recognize() [2/2]
void cv::dnn::TextRecognitionModel::recognize | ( | InputArray | frame, |
InputArrayOfArrays | roiRects, | ||
std::vector< std::string > & | results | ||
) | const |
Given the input
frame, create input blob, run net and return recognition result.
- Parameters
-
[in] frame The input image [in] roiRects List of text detection regions of interest (cv::Rect, CV_32SC4). ROIs is be cropped as the network inputs [out] results A set of text recognition results.
◆ setDecodeOptsCTCPrefixBeamSearch()
TextRecognitionModel & cv::dnn::TextRecognitionModel::setDecodeOptsCTCPrefixBeamSearch | ( | int | beamSize, |
int | vocPruneSize = 0 |
||
) |
Set the decoding method options for "CTC-prefix-beam-search"
decode usage.
- Parameters
-
[in] beamSize Beam size for search [in] vocPruneSize Parameter to optimize big vocabulary search, only take top vocPruneSize
tokens in each search step,vocPruneSize
<= 0 stands for disable this prune.
◆ setDecodeType()
TextRecognitionModel & cv::dnn::TextRecognitionModel::setDecodeType | ( | const std::string & | decodeType | ) |
Set the decoding method of translating the network output into string.
- Parameters
-
[in] decodeType The decoding method of translating the network output into string, currently supported type: "CTC-greedy"
greedy decoding for the output of CTC-based methods"CTC-prefix-beam-search"
Prefix beam search decoding for the output of CTC-based methods
◆ setVocabulary()
TextRecognitionModel & cv::dnn::TextRecognitionModel::setVocabulary | ( | const std::vector< std::string > & | vocabulary | ) |
Set the vocabulary for recognition.
- Parameters
-
[in] vocabulary the associated vocabulary of the network.
The documentation for this class was generated from the following file:
- opencv2/dnn/dnn.hpp