OpenCV  4.10.0
开源计算机视觉
正在加载...
正在搜索...
无匹配项
| 枚举 | 函数
cv::text 命名空间参考

类  BaseOCR
 
类  ERFilter
 Neumann 和 Matas 场景文本检测算法第一阶段和第二阶段的基类 [204]。: 更多...
 
结构体  ERStat
 The ERStat 结构体代表一个特定类别的极值区域 (ER)。 更多...
 
类  OCRBeamSearchDecoder
 OCRBeamSearchDecoder 类提供了一个使用束搜索算法进行 OCR 的接口。 更多...
 
类  OCRHMMDecoder
 OCRHMMDecoder 类提供了一个使用隐马尔可夫模型进行 OCR 的接口。 更多...
 
类  OCRHolisticWordRecognizer
 OCRHolisticWordRecognizer 类提供了分段词语识别的功能。给定一个预定义的词汇表,一个 DictNet 被用来选择给定输入图像的最可能单词。 更多...
 
类  OCRTesseract
 OCRTesseract 类提供了一个与 tesseract-ocr API (v3.02.02) 在 C++ 中的接口。 更多...
 
类  TextDetector
 一个提供文本检测算法接口的抽象类。 更多...
 
类  TextDetectorCNN
 TextDetectorCNN 类提供了文本边界框检测的功能。此类用于查找给定输入图像的文本单词的边界框。此类使用 OpenCV dnn 模块加载在 [165] 中描述的预训练模型。包含修改后的 SSD Caffe 版本的原始存储库:https://github.com/MhLiao/TextBoxes。模型可以从 DropBox 下载。包含模型描述的修改后的 .prototxt 文件可以在 opencv_contrib/modules/text/samples/textbox.prototxt 中找到。 更多...
 

枚举

枚举  {
  ERFILTER_NM_RGBLGrad ,
  ERFILTER_NM_IHSGrad
}
 computeNMChannels 操作模式 更多...
 
枚举  {
  OCR_LEVEL_WORD ,
  OCR_LEVEL_TEXTLINE
}
 
枚举  classifier_type {
  OCR_KNN_CLASSIFIER = 0 ,
  OCR_CNN_CLASSIFIER = 1
}
 
枚举  decoder_mode { OCR_DECODER_VITERBI = 0 }
 
枚举  erGrouping_Modes {
  ERGROUPING_ORIENTATION_HORIZ ,
  ERGROUPING_ORIENTATION_ANY
}
 text::erGrouping 操作模式 更多...
 
枚举  ocr_engine_mode {
  OEM_TESSERACT_ONLY ,
  OEM_CUBE_ONLY ,
  OEM_TESSERACT_CUBE_COMBINED ,
  OEM_DEFAULT
}
 Tesseract.OcrEngineMode 枚举。 更多...
 
枚举  page_seg_mode {
  PSM_OSD_ONLY ,
  PSM_AUTO_OSD ,
  PSM_AUTO_ONLY ,
  PSM_AUTO ,
  PSM_SINGLE_COLUMN ,
  PSM_SINGLE_BLOCK_VERT_TEXT ,
  PSM_SINGLE_BLOCK ,
  PSM_SINGLE_LINE ,
  PSM_SINGLE_WORD ,
  PSM_CIRCLE_WORD ,
  PSM_SINGLE_CHAR
}
 Tesseract.PageSegMode 枚举。 更多...
 

函数

void computeNMChannels (InputArray _src, OutputArrayOfArrays _channels, int _mode=ERFILTER_NM_RGBLGrad)
 计算 N&M 算法 [204] 中要独立处理的不同通道。
 
Ptr< ERFiltercreateERFilterNM1 (const Ptr< ERFilter::Callback > &cb, int thresholdDelta=1, float minArea=(float) 0.00025, float maxArea=(float) 0.13, float minProbability=(float) 0.4, bool nonMaxSuppression=true, float minProbabilityDiff=(float) 0.1)
 为 N&M 算法 [204] 的第一阶段分类器创建一个极值区域过滤器。
 
Ptr< ERFiltercreateERFilterNM1 (const String &filename, int thresholdDelta=1, float minArea=(float) 0.00025, float maxArea=(float) 0.13, float minProbability=(float) 0.4, bool nonMaxSuppression=true, float minProbabilityDiff=(float) 0.1)
 从提供的路径(例如 /path/to/cpp/trained_classifierNM1.xml)读取 N&M 算法的第一阶段分类器的极值区域过滤器。
 
Ptr< ERFiltercreateERFilterNM2 (const Ptr< ERFilter::Callback > &cb, float minProbability=(float) 0.3)
 为 N&M 算法 [204] 的第二阶段分类器创建一个极值区域过滤器。
 
Ptr< ERFiltercreateERFilterNM2 (const String &filename, float minProbability=(float) 0.3)
 从提供的路径(例如 /path/to/cpp/trained_classifierNM2.xml)读取 N&M 算法的第二阶段分类器的极值区域过滤器。
 
Mat createOCRHMMTransitionsTable (const String &vocabulary, std::vector< cv::String > &lexicon)
 
void createOCRHMMTransitionsTable (std::string &vocabulary, std::vector< std::string > &lexicon, OutputArray transition_probabilities_table)
 实用程序函数,用于从给定的单词列表(词典)创建定制的语言模型转换表。
 
void detectRegions (InputArray image, const Ptr< ERFilter > &er_filter1, const Ptr< ERFilter > &er_filter2, std::vector< Rect > &groups_rects, int method=ERGROUPING_ORIENTATION_HORIZ, const String &filename=String(), float minProbability=(float) 0.5)
 从图像中提取文本区域。
 
void detectRegions (InputArray image, const Ptr< ERFilter > &er_filter1, const Ptr< ERFilter > &er_filter2, std::vector< std::vector< Point > > &regions)
 
void detectTextSWT (InputArray input, std::vector< cv::Rect > &result, bool dark_on_light, OutputArray &draw=noArray(), OutputArray &chainBBs=noArray())
 应用笔划宽度变换算子,然后过滤具有相似笔划宽度的连通分量,以返回字母候选。它还会根据邻近度和大小将它们连接起来,并将结果保存在 chainBBs 中。
 
void erGrouping (InputArray image, InputArray channel, std::vector< std::vector< Point > > regions, std::vector< Rect > &groups_rects, int method=ERGROUPING_ORIENTATION_HORIZ, const String &filename=String(), float minProbablity=(float) 0.5)
 
void erGrouping (InputArray img, InputArrayOfArrays channels, std::vector< std::vector< ERStat > > &regions, std::vector< std::vector< Vec2i > > &groups, std::vector< Rect > &groups_rects, int method=ERGROUPING_ORIENTATION_HORIZ, const std::string &filename=std::string(), float minProbablity=0.5)
 查找组织为文本块的极值区域组。
 
Ptr< ERFilter::CallbackloadClassifierNM1 (const String &filename)
 允许在创建 ERFilter 对象时隐式加载默认分类器。
 
Ptr< ERFilter::CallbackloadClassifierNM2 (const String &filename)
 允许在创建 ERFilter 对象时隐式加载默认分类器。
 
Ptr< OCRBeamSearchDecoder::ClassifierCallbackloadOCRBeamSearchClassifierCNN (const String &filename)
 允许在创建 OCRBeamSearchDecoder 对象时隐式加载默认字符分类器。
 
Ptr< OCRHMMDecoder::ClassifierCallbackloadOCRHMMClassifier (const String &filename, int classifier)
 允许在创建 OCRHMMDecoder 对象时隐式加载默认字符分类器。
 
Ptr< OCRHMMDecoder::ClassifierCallbackloadOCRHMMClassifierCNN (const String &filename)
 允许在创建 OCRHMMDecoder 对象时隐式加载默认字符分类器。
 
Ptr< OCRHMMDecoder::ClassifierCallbackloadOCRHMMClassifierNM (const String &filename)
 允许在创建 OCRHMMDecoder 对象时隐式加载默认字符分类器。
 
void MSERsToERStats (InputArray image, std::vector< std::vector< Point > > &contours, std::vector< std::vector< ERStat > > &regions)
 MSER 轮廓 (vector<Point>) 转换为 ERStat 区域。
 

函数文档

◆ detectTextSWT()

void cv::text::detectTextSWT ( InputArray  input,
std::vector< cv::Rect > &  result,
bool  dark_on_light,
OutputArray draw = noArray(),
OutputArray chainBBs = noArray() 
)
Python
cv.text.detectTextSWT(input, dark_on_light[, draw[, chainBBs]]) -> result, draw, chainBBs

应用笔划宽度变换算子,然后过滤具有相似笔划宽度的连通分量,以返回字母候选。它还会根据邻近度和大小将它们连接起来,并将结果保存在 chainBBs 中。

参数
input具有 3 个通道的输入图像。
result一个包含结果边界框的向量,其中找到文本的概率很高
dark_on_light一个布尔值,表示文本是否比背景更暗或更亮,观察到它会反转从 Scharr 算子获得的梯度,并显着影响结果。
draw一个可选的 Mat,类型为 CV_8UC3,它使用边界框可视化检测到的字母。
chainBBs一个可选参数,根据论文中的启发式方法将字母候选者链接起来,并返回可能出现文本的所有区域。