OpenCV 4.13.0
开源计算机视觉库 (Open Source Computer Vision)
正在加载...
正在搜索...
未找到匹配项
cv::dnn::TextRecognitionModel 类参考

此类表示用于文本识别网络的的 API。 更多...

#include <opencv2/dnn/dnn.hpp>

cv::dnn::TextRecognitionModel 的协作图

公开成员函数

 TextRecognitionModel ()
 
 TextRecognitionModel (const Net &network)
 从深度学习网络创建文本识别模型。调用构造函数后的 setDecodeType()setVocabulary() 来初始化解码方法。
 
 TextRecognitionModel (CV_WRAP_FILE_PATH const std::string &model, CV_WRAP_FILE_PATH const std::string &config="")
 从支持格式的网络创建文本识别模型。调用构造函数后的 setDecodeType()setVocabulary() 来初始化解码方法。
 
const std::string & getDecodeType () const
 获取解码方法。
 
const std::vector< std::string > & getVocabulary () const
 获取识别的词汇表。
 
std::string recognize (InputArray frame) const
 给定 `input` 帧,创建输入 blob,运行网络并返回识别结果。
 
void recognize (InputArray frame, InputArrayOfArrays roiRects, std::vector< std::string > &results) const
 给定 `input` 帧,创建输入 blob,运行网络并返回识别结果。
 
TextRecognitionModelsetDecodeOptsCTCPrefixBeamSearch (int beamSize, int vocPruneSize=0)
 为 `"CTC-prefix-beam-search"` 解码使用设置解码方法选项。
 
TextRecognitionModelsetDecodeType (const std::string &decodeType)
 设置将网络输出转换为字符串的解码方法。
 
TextRecognitionModelsetVocabulary (const std::vector< std::string > &vocabulary)
 设置识别的词汇表。
 
- 继承自 cv::dnn::Model 的公有成员函数
 Model ()
 
 Model (const Model &)=default
 
 Model (const Net &network)
 从深度学习网络创建模型。
 
 Model (CV_WRAP_FILE_PATH const String &model, CV_WRAP_FILE_PATH const String &config="")
 从支持格式的网络创建模型。modelconfig 参数的顺序无关紧要。
 
 Model (Model &&)=default
 
ModelenableWinograd (bool useWinograd)
 
Impl * getImpl () const
 
Impl & getImplRef () const
 
NetgetNetwork_ ()
 
NetgetNetwork_ () const
 
 operator Net & () const
 
Modeloperator= (const Model &)=default
 
Modeloperator= (Model &&)=default
 
void predict (InputArray frame, OutputArrayOfArrays outs) const
 给定 input 帧,创建输入 blob,运行网络并返回输出 blobs
 
ModelsetInputCrop (bool crop)
 为帧设置 crop 标志。
 
ModelsetInputMean (const Scalar &mean)
 为帧设置均值。
 
void setInputParams (double scale=1.0, const Size &size=Size(), const Scalar &mean=Scalar(), bool swapRB=false, bool crop=false)
 设置帧的预处理参数。
 
ModelsetInputScale (const Scalar &scale)
 为帧设置 scale 因子。
 
ModelsetInputSize (const Size &size)
 设置帧的输入大小。
 
ModelsetInputSize (int width, int height)
 
ModelsetInputSwapRB (bool swapRB)
 为帧设置 swapRB 标志。
 
ModelsetOutputNames (const std::vector< String > &outNames)
 为帧设置输出名称。
 
ModelsetPreferableBackend (dnn::Backend backendId)
 
ModelsetPreferableTarget (dnn::Target targetId)
 

更多继承的成员

- 继承自 cv::dnn::Model 的保护成员属性
Ptr< Impl > impl
 

详细说明

此类代表文本识别网络的 Odoo API。

TextRecognitionModel 允许设置输入图像预处理的参数。 TextRecognitionModel 从训练权重和配置文件的文件中创建网络,设置输入预处理,运行前向传播并返回识别结果。对于 TextRecognitionModel,支持 CRNN-CTC。

示例
samples/dnn/text_detection.cpp.

构造函数与析构函数说明

◆ TextRecognitionModel() [1/3]

cv::dnn::TextRecognitionModel::TextRecognitionModel ( )
Python
cv.dnn.TextRecognitionModel(network) -> <dnn_TextRecognitionModel 对象>
cv.dnn.TextRecognitionModel(model[, config]) -> <dnn_TextRecognitionModel 对象>

◆ TextRecognitionModel() [2/3]

cv::dnn::TextRecognitionModel::TextRecognitionModel ( const Net & network)
Python
cv.dnn.TextRecognitionModel(network) -> <dnn_TextRecognitionModel 对象>
cv.dnn.TextRecognitionModel(model[, config]) -> <dnn_TextRecognitionModel 对象>

从深度学习网络创建文本识别模型。调用构造函数后的 setDecodeType()setVocabulary() 来初始化解码方法。

参数
[in]networkNet 对象

◆ TextRecognitionModel() [3/3]

cv::dnn::TextRecognitionModel::TextRecognitionModel ( CV_WRAP_FILE_PATH const std::string & model,
CV_WRAP_FILE_PATH const std::string & config="" )
内联
Python
cv.dnn.TextRecognitionModel(network) -> <dnn_TextRecognitionModel 对象>
cv.dnn.TextRecognitionModel(model[, config]) -> <dnn_TextRecognitionModel 对象>

从支持格式的网络创建文本识别模型。调用构造函数后的 setDecodeType()setVocabulary() 来初始化解码方法。

参数
[in]model包含训练权重的二进制文件
[in]config包含网络配置的文本文件
此函数的调用图

成员函数说明

◆ getDecodeType()

const std::string & cv::dnn::TextRecognitionModel::getDecodeType ( ) const
Python
cv.dnn.TextRecognitionModel.getDecodeType() -> retval

获取解码方法。

返回
解码方法

◆ getVocabulary()

const std::vector< std::string > & cv::dnn::TextRecognitionModel::getVocabulary ( ) const
Python
cv.dnn.TextRecognitionModel.getVocabulary() -> retval

获取识别的词汇表。

返回
与识别相关的词汇表

◆ recognize() [1/2]

std::string cv::dnn::TextRecognitionModel::recognize ( InputArray frame) const
Python
cv.dnn.TextRecognitionModel.recognize(frame) -> retval
cv.dnn.TextRecognitionModel.recognize(frame, roiRects) -> results

给定 `input` 帧,创建输入 blob,运行网络并返回识别结果。

参数
[in]frame输入图像
返回
文本识别结果

◆ recognize() [2/2]

void cv::dnn::TextRecognitionModel::recognize ( InputArray frame,
InputArrayOfArrays roiRects,
std::vector< std::string > & results ) const
Python
cv.dnn.TextRecognitionModel.recognize(frame) -> retval
cv.dnn.TextRecognitionModel.recognize(frame, roiRects) -> results

给定 `input` 帧,创建输入 blob,运行网络并返回识别结果。

参数
[in]frame输入图像
[in]roiRects感兴趣的文本检测区域列表(cv::Rect, CV_32SC4)。ROI 将被裁剪作为网络输入
[out]results一组文本识别结果。

◆ setDecodeOptsCTCPrefixBeamSearch()

TextRecognitionModel & cv::dnn::TextRecognitionModel::setDecodeOptsCTCPrefixBeamSearch ( int beamSize,
int vocPruneSize=0 )
Python
cv.dnn.TextRecognitionModel.setDecodeOptsCTCPrefixBeamSearch(beamSize[, vocPruneSize]) -> retval

为 `"CTC-prefix-beam-search"` 解码使用设置解码方法选项。

参数
[in]beamSize搜索的 Beam 大小
[in]vocPruneSize用于优化大型词汇表搜索的参数,每个搜索步骤只取前 `vocPruneSize` 个 token,`vocPruneSize` <= 0 表示禁用此剪枝。

◆ setDecodeType()

TextRecognitionModel & cv::dnn::TextRecognitionModel::setDecodeType ( const std::string & decodeType)
Python
cv.dnn.TextRecognitionModel.setDecodeType(decodeType) -> retval

设置将网络输出转换为字符串的解码方法。

参数
[in]decodeType将网络输出转换为字符串的解码方法,当前支持的类型
  • "CTC-greedy" CTC-based 方法输出的贪婪解码
  • "CTC-prefix-beam-search" CTC-based 方法输出的前缀 Beam 搜索解码

◆ setVocabulary()

TextRecognitionModel & cv::dnn::TextRecognitionModel::setVocabulary ( const std::vector< std::string > & vocabulary)
Python
cv.dnn.TextRecognitionModel.setVocabulary(vocabulary) -> retval

设置识别的词汇表。

参数
[in]vocabulary与网络相关的词汇表。

该类的文档由以下文件生成: