OpenCV 4.11.0
开源计算机视觉
加载中…
搜索中…
无匹配项
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)
 为帧设置裁剪标志。
 
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)
 为帧设置比例因子。
 
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
 

详细描述

此类表示文本识别网络的高级 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

获取识别的词汇表。

返回值
vocabulary 关联的词汇表

◆ 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搜索的波束大小
[in]vocPruneSize优化大型词汇表搜索的参数,在每个搜索步骤中只取前 vocPruneSize 个标记,vocPruneSize <= 0 表示禁用此修剪。

◆ setDecodeType()

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

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

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

◆ setVocabulary()

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

设置识别的词汇表。

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

此类的文档是从以下文件生成的: