OpenCV  4.10.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 = "" 
)
inline
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)。ROIs 将被裁剪作为网络输入
[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网络关联的词汇表。

此类文档从以下文件生成