类 Text
- java.lang.Object
-
- org.opencv.text.Text
-
public class Text extends java.lang.Object
-
-
字段摘要
字段 修饰符和类型 字段 描述 static intERFILTER_NM_IHSGradstatic intERFILTER_NM_RGBLGradstatic intERGROUPING_ORIENTATION_ANYstatic intERGROUPING_ORIENTATION_HORIZstatic intOCR_CNN_CLASSIFIERstatic intOCR_DECODER_VITERBIstatic intOCR_KNN_CLASSIFIERstatic intOCR_LEVEL_TEXTLINEstatic intOCR_LEVEL_WORDstatic intOEM_CUBE_ONLYstatic intOEM_DEFAULTstatic intOEM_TESSERACT_CUBE_COMBINEDstatic intOEM_TESSERACT_ONLYstatic intPSM_AUTOstatic intPSM_AUTO_ONLYstatic intPSM_AUTO_OSDstatic intPSM_CIRCLE_WORDstatic intPSM_OSD_ONLYstatic intPSM_SINGLE_BLOCKstatic intPSM_SINGLE_BLOCK_VERT_TEXTstatic intPSM_SINGLE_CHARstatic intPSM_SINGLE_COLUMNstatic intPSM_SINGLE_LINEstatic intPSM_SINGLE_WORD
-
构造函数摘要
构造函数 构造函数 描述 文本()
-
方法摘要
所有方法 静态方法 具体方法 已弃用方法 修饰符和类型 方法 描述 static voidcomputeNMChannels(Mat _src, java.util.List<Mat> _channels)计算要在 N&M 算法 CITE: Neumann12 中独立处理的不同通道。static voidcomputeNMChannels(Mat _src, java.util.List<Mat> _channels, int _mode)计算要在 N&M 算法 CITE: Neumann12 中独立处理的不同通道。static ERFiltercreateERFilterNM1(java.lang.String filename)从提供的路径读取 N&M 算法第一阶段分类器的极值区域滤波器,例如static ERFiltercreateERFilterNM1(java.lang.String filename, int thresholdDelta)从提供的路径读取 N&M 算法第一阶段分类器的极值区域滤波器,例如static ERFiltercreateERFilterNM1(java.lang.String filename, int thresholdDelta, float minArea)从提供的路径读取 N&M 算法第一阶段分类器的极值区域滤波器,例如static ERFiltercreateERFilterNM1(java.lang.String filename, int thresholdDelta, float minArea, float maxArea)从提供的路径读取 N&M 算法第一阶段分类器的极值区域滤波器,例如static ERFiltercreateERFilterNM1(java.lang.String filename, int thresholdDelta, float minArea, float maxArea, float minProbability)从提供的路径读取 N&M 算法第一阶段分类器的极值区域滤波器,例如static ERFiltercreateERFilterNM1(java.lang.String filename, int thresholdDelta, float minArea, float maxArea, float minProbability, boolean nonMaxSuppression)从提供的路径读取 N&M 算法第一阶段分类器的极值区域滤波器,例如static ERFiltercreateERFilterNM1(java.lang.String filename, int thresholdDelta, float minArea, float maxArea, float minProbability, boolean nonMaxSuppression, float minProbabilityDiff)从提供的路径读取 N&M 算法第一阶段分类器的极值区域滤波器,例如static ERFiltercreateERFilterNM1(ERFilter_Callback cb)为 N&M 算法 CITE: Neumann12 的第一阶段分类器创建一个极值区域滤波器。static ERFiltercreateERFilterNM1(ERFilter_Callback cb, int thresholdDelta)为 N&M 算法 CITE: Neumann12 的第一阶段分类器创建一个极值区域滤波器。static ERFiltercreateERFilterNM1(ERFilter_Callback cb, int thresholdDelta, float minArea)为 N&M 算法 CITE: Neumann12 的第一阶段分类器创建一个极值区域滤波器。static ERFiltercreateERFilterNM1(ERFilter_Callback cb, int thresholdDelta, float minArea, float maxArea)为 N&M 算法 CITE: Neumann12 的第一阶段分类器创建一个极值区域滤波器。static ERFiltercreateERFilterNM1(ERFilter_Callback cb, int thresholdDelta, float minArea, float maxArea, float minProbability)为 N&M 算法 CITE: Neumann12 的第一阶段分类器创建一个极值区域滤波器。static ERFiltercreateERFilterNM1(ERFilter_Callback cb, int thresholdDelta, float minArea, float maxArea, float minProbability, boolean nonMaxSuppression)为 N&M 算法 CITE: Neumann12 的第一阶段分类器创建一个极值区域滤波器。static ERFiltercreateERFilterNM1(ERFilter_Callback cb, int thresholdDelta, float minArea, float maxArea, float minProbability, boolean nonMaxSuppression, float minProbabilityDiff)为 N&M 算法 CITE: Neumann12 的第一阶段分类器创建一个极值区域滤波器。static ERFiltercreateERFilterNM2(java.lang.String filename)从提供的路径读取 N&M 算法第二阶段分类器的极值区域滤波器,例如static ERFiltercreateERFilterNM2(java.lang.String filename, float minProbability)从提供的路径读取 N&M 算法第二阶段分类器的极值区域滤波器,例如static ERFiltercreateERFilterNM2(ERFilter_Callback cb)为 N&M 算法 CITE: Neumann12 的第二阶段分类器创建一个极值区域滤波器。static ERFiltercreateERFilterNM2(ERFilter_Callback cb, float minProbability)为 N&M 算法 CITE: Neumann12 的第二阶段分类器创建一个极值区域滤波器。static MatcreateOCRHMMTransitionsTable(java.lang.String vocabulary, java.util.List<java.lang.String> lexicon)实用函数,用于根据给定的单词列表(词典)创建定制的语言模型转换表。static voiddetectRegions(Mat image, ERFilter er_filter1, ERFilter er_filter2, java.util.List<MatOfPoint> regions)将 MSER 轮廓 (vector<Point>) 转换为 ERStat 区域。static voiddetectRegions(Mat image, ERFilter er_filter1, ERFilter er_filter2, MatOfRect groups_rects)从图像中提取文本区域。static voiddetectRegions(Mat image, ERFilter er_filter1, ERFilter er_filter2, MatOfRect groups_rects, int method)从图像中提取文本区域。static voiddetectRegions(Mat image, ERFilter er_filter1, ERFilter er_filter2, MatOfRect groups_rects, int method, java.lang.String filename)从图像中提取文本区域。static voiddetectRegions(Mat image, ERFilter er_filter1, ERFilter er_filter2, MatOfRect groups_rects, int method, java.lang.String filename, float minProbability)从图像中提取文本区域。static voiddetectTextSWT(Mat input, MatOfRect result, boolean dark_on_light)应用笔画宽度变换算子,然后过滤相似笔画宽度的连接组件,以返回字母候选。static voiddetectTextSWT(Mat input, MatOfRect result, boolean dark_on_light, Mat draw)应用笔画宽度变换算子,然后过滤相似笔画宽度的连接组件,以返回字母候选。static voiddetectTextSWT(Mat input, MatOfRect result, boolean dark_on_light, Mat draw, Mat chainBBs)应用笔画宽度变换算子,然后过滤相似笔画宽度的连接组件,以返回字母候选。static voiderGrouping(Mat image, Mat channel, java.util.List<MatOfPoint> regions, MatOfRect groups_rects)查找组织成文本块的极值区域组。static voiderGrouping(Mat image, Mat channel, java.util.List<MatOfPoint> regions, MatOfRect groups_rects, int method)查找组织成文本块的极值区域组。static voiderGrouping(Mat image, Mat channel, java.util.List<MatOfPoint> regions, MatOfRect groups_rects, int method, java.lang.String filename)查找组织成文本块的极值区域组。static voiderGrouping(Mat image, Mat channel, java.util.List<MatOfPoint> regions, MatOfRect groups_rects, int method, java.lang.String filename, float minProbablity)查找组织成文本块的极值区域组。static ERFilter_CallbackloadClassifierNM1(java.lang.String filename)创建 ERFilter 对象时,允许隐式加载默认分类器。static ERFilter_CallbackloadClassifierNM2(java.lang.String filename)创建 ERFilter 对象时,允许隐式加载默认分类器。static OCRBeamSearchDecoder_ClassifierCallbackloadOCRBeamSearchClassifierCNN(java.lang.String filename)创建 OCRBeamSearchDecoder 对象时,允许隐式加载默认字符分类器。static OCRHMMDecoder_ClassifierCallbackloadOCRHMMClassifier(java.lang.String filename, int classifier)创建 OCRHMMDecoder 对象时,允许隐式加载默认字符分类器。static OCRHMMDecoder_ClassifierCallbackloadOCRHMMClassifierCNN(java.lang.String filename)已弃用。请改用 loadOCRHMMClassifierstatic OCRHMMDecoder_ClassifierCallbackloadOCRHMMClassifierNM(java.lang.String filename)已弃用。请改用 loadOCRHMMClassifier
-
-
-
字段详情
-
OCR_LEVEL_WORD
public static final int OCR_LEVEL_WORD
- 另请参阅
- 常量字段值
-
OCR_LEVEL_TEXTLINE
public static final int OCR_LEVEL_TEXTLINE
- 另请参阅
- 常量字段值
-
ERFILTER_NM_RGBLGrad
public static final int ERFILTER_NM_RGBLGrad
- 另请参阅
- 常量字段值
-
ERFILTER_NM_IHSGrad
public static final int ERFILTER_NM_IHSGrad
- 另请参阅
- 常量字段值
-
OCR_KNN_CLASSIFIER
public static final int OCR_KNN_CLASSIFIER
- 另请参阅
- 常量字段值
-
OCR_CNN_CLASSIFIER
public static final int OCR_CNN_CLASSIFIER
- 另请参阅
- 常量字段值
-
OCR_DECODER_VITERBI
public static final int OCR_DECODER_VITERBI
- 另请参阅
- 常量字段值
-
ERGROUPING_ORIENTATION_HORIZ
public static final int ERGROUPING_ORIENTATION_HORIZ
- 另请参阅
- 常量字段值
-
ERGROUPING_ORIENTATION_ANY
public static final int ERGROUPING_ORIENTATION_ANY
- 另请参阅
- 常量字段值
-
OEM_TESSERACT_ONLY
public static final int OEM_TESSERACT_ONLY
- 另请参阅
- 常量字段值
-
OEM_CUBE_ONLY
public static final int OEM_CUBE_ONLY
- 另请参阅
- 常量字段值
-
OEM_TESSERACT_CUBE_COMBINED
public static final int OEM_TESSERACT_CUBE_COMBINED
- 另请参阅
- 常量字段值
-
OEM_DEFAULT
public static final int OEM_DEFAULT
- 另请参阅
- 常量字段值
-
PSM_OSD_ONLY
public static final int PSM_OSD_ONLY
- 另请参阅
- 常量字段值
-
PSM_AUTO_OSD
public static final int PSM_AUTO_OSD
- 另请参阅
- 常量字段值
-
PSM_AUTO_ONLY
public static final int PSM_AUTO_ONLY
- 另请参阅
- 常量字段值
-
PSM_AUTO
public static final int PSM_AUTO
- 另请参阅
- 常量字段值
-
PSM_SINGLE_COLUMN
public static final int PSM_SINGLE_COLUMN
- 另请参阅
- 常量字段值
-
PSM_SINGLE_BLOCK_VERT_TEXT
public static final int PSM_SINGLE_BLOCK_VERT_TEXT
- 另请参阅
- 常量字段值
-
PSM_SINGLE_BLOCK
public static final int PSM_SINGLE_BLOCK
- 另请参阅
- 常量字段值
-
PSM_SINGLE_LINE
public static final int PSM_SINGLE_LINE
- 另请参阅
- 常量字段值
-
PSM_SINGLE_WORD
public static final int PSM_SINGLE_WORD
- 另请参阅
- 常量字段值
-
PSM_CIRCLE_WORD
public static final int PSM_CIRCLE_WORD
- 另请参阅
- 常量字段值
-
PSM_SINGLE_CHAR
public static final int PSM_SINGLE_CHAR
- 另请参阅
- 常量字段值
-
-
方法详情
-
detectTextSWT
public static void detectTextSWT(Mat input, MatOfRect result, boolean dark_on_light, Mat draw, Mat chainBBs)
应用笔画宽度变换算子,然后过滤相似笔画宽度的连通分量以返回字母候选。它还根据邻近度和大小将它们链接起来,并将结果保存在 chainBBs 中。- 参数
input- 具有 3 个通道的输入图像。result- 找到文本的概率很高的结果边界框向量dark_on_light- 一个布尔值,表示文本是比背景暗还是亮,观察到它会反转从 Scharr 算子获得的梯度,并显着影响结果。draw- 一个可选的 CV_8UC3 类型的 Mat,用于使用边界框可视化检测到的字母。chainBBs- 一个可选参数,它根据论文中的启发式方法链接字母候选,并返回文本可能出现的所有可能区域。
-
detectTextSWT
public static void detectTextSWT(Mat input, MatOfRect result, boolean dark_on_light, Mat draw)
应用笔画宽度变换算子,然后过滤相似笔画宽度的连通分量以返回字母候选。它还根据邻近度和大小将它们链接起来,并将结果保存在 chainBBs 中。- 参数
input- 具有 3 个通道的输入图像。result- 找到文本的概率很高的结果边界框向量dark_on_light- 一个布尔值,表示文本是比背景暗还是亮,观察到它会反转从 Scharr 算子获得的梯度,并显着影响结果。draw- 一个可选的 CV_8UC3 类型的 Mat,用于使用边界框可视化检测到的字母。
-
detectTextSWT
public static void detectTextSWT(Mat input, MatOfRect result, boolean dark_on_light)
应用笔画宽度变换算子,然后过滤相似笔画宽度的连通分量以返回字母候选。它还根据邻近度和大小将它们链接起来,并将结果保存在 chainBBs 中。- 参数
input- 具有 3 个通道的输入图像。result- 找到文本的概率很高的结果边界框向量dark_on_light- 一个布尔值,表示文本是比背景暗还是亮,观察到它会反转从 Scharr 算子获得的梯度,并显着影响结果。
-
loadOCRHMMClassifierNM
@Deprecated public static OCRHMMDecoder_ClassifierCallback loadOCRHMMClassifierNM(java.lang.String filename)
已弃用。请改用 loadOCRHMMClassifier创建 OCRHMMDecoder 对象时,允许隐式加载默认字符分类器。- 参数
filename- 包含分类器模型的 XML 或 YAML 文件(例如 OCRHMM_knn_model_data.xml)KNN 默认分类器基于 Lukás Neumann 和 Jiri Matas 在 [Neumann11b] 中提出的场景文本识别方法。基本上,输入图像中的区域(轮廓)被归一化到固定大小,同时保留质心和纵横比,以便提取基于其周长链码的梯度方向的特征向量。然后,使用通过不同标准字体类型的渲染字符的合成数据训练的 KNN 模型对区域进行分类。- 返回
- 自动生成
-
loadOCRHMMClassifierCNN
@Deprecated public static OCRHMMDecoder_ClassifierCallback loadOCRHMMClassifierCNN(java.lang.String filename)
已弃用。请改用 loadOCRHMMClassifier创建 OCRHMMDecoder 对象时,允许隐式加载默认字符分类器。- 参数
filename- 包含分类器模型的 XML 或 YAML 文件(例如 OCRBeamSearch_CNN_model_data.xml.gz)CNN 默认分类器基于 Adam Coates 和 Andrew NG 在 [Coates11a] 中提出的场景文本识别方法。字符分类器由一个单层卷积神经网络和一个线性分类器组成。它以滑动窗口的方式应用于输入图像,在每个窗口位置提供一组识别。- 返回
- 自动生成
-
loadOCRHMMClassifier
public static OCRHMMDecoder_ClassifierCallback loadOCRHMMClassifier(java.lang.String filename, int classifier)
创建 OCRHMMDecoder 对象时,允许隐式加载默认字符分类器。- 参数
filename- 包含分类器模型的 XML 或 YAML 文件(例如 OCRBeamSearch_CNN_model_data.xml.gz)classifier- 可以是 classifier_type 枚举值之一。- 返回
- 自动生成
-
createOCRHMMTransitionsTable
public static Mat createOCRHMMTransitionsTable(java.lang.String vocabulary, java.util.List<java.lang.String> lexicon)
实用函数,用于根据给定的单词列表(词典)创建定制的语言模型转换表。- 参数
vocabulary- 语言词汇(当为 ASCII 英文文本时为字符)。lexicon- 期望在特定图像中找到的单词列表。该函数计算给定词典中字符对的频率统计信息,并用它们填充输出 transition_probabilities_table。transition_probabilities_table 可以用作 OCRHMMDecoder::create() 和 OCRBeamSearchDecoder::create() 方法的输入。注意: - (C++) 另一种方法是加载文本模块样本文件夹中提供的默认通用语言转换表(由 ispell 42869 英文单词列表创建):<https://github.com/opencv/opencv_contrib/blob/master/modules/text/samples/OCRHMM_transitions_table.xml>- 返回
- 自动生成
-
loadOCRBeamSearchClassifierCNN
public static OCRBeamSearchDecoder_ClassifierCallback loadOCRBeamSearchClassifierCNN(java.lang.String filename)
创建 OCRBeamSearchDecoder 对象时,允许隐式加载默认字符分类器。- 参数
filename- 包含分类器模型的 XML 或 YAML 文件(例如 OCRBeamSearch_CNN_model_data.xml.gz)CNN 默认分类器基于 Adam Coates 和 Andrew NG 在 [Coates11a] 中提出的场景文本识别方法。字符分类器由一个单层卷积神经网络和一个线性分类器组成。它以滑动窗口的方式应用于输入图像,在每个窗口位置提供一组识别。- 返回
- 自动生成
-
createERFilterNM1
public static ERFilter createERFilterNM1(ERFilter_Callback cb, int thresholdDelta, float minArea, float maxArea, float minProbability, boolean nonMaxSuppression, float minProbabilityDiff)
为 N&M 算法 CITE: Neumann12 的第一阶段分类器创建一个极值区域滤波器。loadClassifierNM1,例如来自 samples/cpp/trained_classifierNM1.xml 文件。图像的组件树通过从 0 到 255 逐步增加的阈值提取,为每个 ER 计算可增量计算的描述符(纵横比、紧凑性、孔数和水平交叉数),并用作分类器的特征,该分类器估计类条件概率 P(er|character)。P(er|character) 的值通过所有阈值下的 ER 的包含关系进行跟踪,并且只选择对应于概率 P(er|character) 局部最大值的 ER(如果概率的局部最大值高于全局限制 pmin,并且局部最大值与局部最小值之间的差大于 minProbabilityDiff)。- 参数
cb- 自动生成thresholdDelta- 自动生成minArea- 自动生成maxArea- 自动生成minProbability- 自动生成nonMaxSuppression- 自动生成minProbabilityDiff- 自动生成- 返回
- 自动生成
-
createERFilterNM1
public static ERFilter createERFilterNM1(ERFilter_Callback cb, int thresholdDelta, float minArea, float maxArea, float minProbability, boolean nonMaxSuppression)
为 N&M 算法 CITE: Neumann12 的第一阶段分类器创建一个极值区域滤波器。loadClassifierNM1,例如来自 samples/cpp/trained_classifierNM1.xml 文件。图像的组件树通过从 0 到 255 逐步增加的阈值提取,为每个 ER 计算可增量计算的描述符(纵横比、紧凑性、孔数和水平交叉数),并用作分类器的特征,该分类器估计类条件概率 P(er|character)。P(er|character) 的值通过所有阈值下的 ER 的包含关系进行跟踪,并且只选择对应于概率 P(er|character) 局部最大值的 ER(如果概率的局部最大值高于全局限制 pmin,并且局部最大值与局部最小值之间的差大于 minProbabilityDiff)。- 参数
cb- 自动生成thresholdDelta- 自动生成minArea- 自动生成maxArea- 自动生成minProbability- 自动生成nonMaxSuppression- 自动生成- 返回
- 自动生成
-
createERFilterNM1
public static ERFilter createERFilterNM1(ERFilter_Callback cb, int thresholdDelta, float minArea, float maxArea, float minProbability)
为 N&M 算法 CITE: Neumann12 的第一阶段分类器创建一个极值区域滤波器。loadClassifierNM1,例如来自 samples/cpp/trained_classifierNM1.xml 文件。图像的组件树通过从 0 到 255 逐步增加的阈值提取,为每个 ER 计算可增量计算的描述符(纵横比、紧凑性、孔数和水平交叉数),并用作分类器的特征,该分类器估计类条件概率 P(er|character)。P(er|character) 的值通过所有阈值下的 ER 的包含关系进行跟踪,并且只选择对应于概率 P(er|character) 局部最大值的 ER(如果概率的局部最大值高于全局限制 pmin,并且局部最大值与局部最小值之间的差大于 minProbabilityDiff)。- 参数
cb- 自动生成thresholdDelta- 自动生成minArea- 自动生成maxArea- 自动生成minProbability- 自动生成- 返回
- 自动生成
-
createERFilterNM1
public static ERFilter createERFilterNM1(ERFilter_Callback cb, int thresholdDelta, float minArea, float maxArea)
为 N&M 算法 CITE: Neumann12 的第一阶段分类器创建一个极值区域滤波器。loadClassifierNM1,例如来自 samples/cpp/trained_classifierNM1.xml 文件。图像的组件树通过从 0 到 255 逐步增加的阈值提取,为每个 ER 计算可增量计算的描述符(纵横比、紧凑性、孔数和水平交叉数),并用作分类器的特征,该分类器估计类条件概率 P(er|character)。P(er|character) 的值通过所有阈值下的 ER 的包含关系进行跟踪,并且只选择对应于概率 P(er|character) 局部最大值的 ER(如果概率的局部最大值高于全局限制 pmin,并且局部最大值与局部最小值之间的差大于 minProbabilityDiff)。- 参数
cb- 自动生成thresholdDelta- 自动生成minArea- 自动生成maxArea- 自动生成- 返回
- 自动生成
-
createERFilterNM1
public static ERFilter createERFilterNM1(ERFilter_Callback cb, int thresholdDelta, float minArea)
为 N&M 算法 CITE: Neumann12 的第一阶段分类器创建一个极值区域滤波器。loadClassifierNM1,例如来自 samples/cpp/trained_classifierNM1.xml 文件。图像的组件树通过从 0 到 255 逐步增加的阈值提取,为每个 ER 计算可增量计算的描述符(纵横比、紧凑性、孔数和水平交叉数),并用作分类器的特征,该分类器估计类条件概率 P(er|character)。P(er|character) 的值通过所有阈值下的 ER 的包含关系进行跟踪,并且只选择对应于概率 P(er|character) 局部最大值的 ER(如果概率的局部最大值高于全局限制 pmin,并且局部最大值与局部最小值之间的差大于 minProbabilityDiff)。- 参数
cb- 自动生成thresholdDelta- 自动生成minArea- 自动生成- 返回
- 自动生成
-
createERFilterNM1
public static ERFilter createERFilterNM1(ERFilter_Callback cb, int thresholdDelta)
为 N&M 算法 CITE: Neumann12 的第一阶段分类器创建一个极值区域滤波器。loadClassifierNM1,例如来自 samples/cpp/trained_classifierNM1.xml 文件。图像的组件树通过从 0 到 255 逐步增加的阈值提取,为每个 ER 计算可增量计算的描述符(纵横比、紧凑性、孔数和水平交叉数),并用作分类器的特征,该分类器估计类条件概率 P(er|character)。P(er|character) 的值通过所有阈值下的 ER 的包含关系进行跟踪,并且只选择对应于概率 P(er|character) 局部最大值的 ER(如果概率的局部最大值高于全局限制 pmin,并且局部最大值与局部最小值之间的差大于 minProbabilityDiff)。- 参数
cb- 自动生成thresholdDelta- 自动生成- 返回
- 自动生成
-
createERFilterNM1
public static ERFilter createERFilterNM1(ERFilter_Callback cb)
为 N&M 算法 CITE: Neumann12 的第一阶段分类器创建一个极值区域滤波器。loadClassifierNM1,例如来自 samples/cpp/trained_classifierNM1.xml 文件。图像的组件树通过从 0 到 255 逐步增加的阈值提取,为每个 ER 计算可增量计算的描述符(纵横比、紧凑性、孔数和水平交叉数),并用作分类器的特征,该分类器估计类条件概率 P(er|character)。P(er|character) 的值通过所有阈值下的 ER 的包含关系进行跟踪,并且只选择对应于概率 P(er|character) 局部最大值的 ER(如果概率的局部最大值高于全局限制 pmin,并且局部最大值与局部最小值之间的差大于 minProbabilityDiff)。- 参数
cb- 自动生成- 返回
- 自动生成
-
createERFilterNM2
public static ERFilter createERFilterNM2(ERFilter_Callback cb, float minProbability)
为 N&M 算法 CITE: Neumann12 的第二阶段分类器创建一个极值区域滤波器。loadClassifierNM2,例如来自 samples/cpp/trained_classifierNM2.xml 文件。在第二阶段,通过第一阶段的 ER 使用信息更丰富但计算成本更高的特征分类为字符和非字符类。分类器使用第一阶段计算的所有特征以及以下附加特征:孔面积比、凸包比和外部拐点数。- 参数
cb- 自动生成minProbability- 自动生成- 返回
- 自动生成
-
createERFilterNM2
public static ERFilter createERFilterNM2(ERFilter_Callback cb)
为 N&M 算法 CITE: Neumann12 的第二阶段分类器创建一个极值区域滤波器。loadClassifierNM2,例如来自 samples/cpp/trained_classifierNM2.xml 文件。在第二阶段,通过第一阶段的 ER 使用信息更丰富但计算成本更高的特征分类为字符和非字符类。分类器使用第一阶段计算的所有特征以及以下附加特征:孔面积比、凸包比和外部拐点数。- 参数
cb- 自动生成- 返回
- 自动生成
-
createERFilterNM1
public static ERFilter createERFilterNM1(java.lang.String filename, int thresholdDelta, float minArea, float maxArea, float minProbability, boolean nonMaxSuppression, float minProbabilityDiff)
从提供的路径读取 N&M 算法第一阶段分类器的极值区域滤波器,例如 /path/to/cpp/trained_classifierNM1.xml- 参数
filename- 自动生成thresholdDelta- 自动生成minArea- 自动生成maxArea- 自动生成minProbability- 自动生成nonMaxSuppression- 自动生成minProbabilityDiff- 自动生成- 返回
- 自动生成
-
createERFilterNM1
public static ERFilter createERFilterNM1(java.lang.String filename, int thresholdDelta, float minArea, float maxArea, float minProbability, boolean nonMaxSuppression)
从提供的路径读取 N&M 算法第一阶段分类器的极值区域滤波器,例如 /path/to/cpp/trained_classifierNM1.xml- 参数
filename- 自动生成thresholdDelta- 自动生成minArea- 自动生成maxArea- 自动生成minProbability- 自动生成nonMaxSuppression- 自动生成- 返回
- 自动生成
-
createERFilterNM1
public static ERFilter createERFilterNM1(java.lang.String filename, int thresholdDelta, float minArea, float maxArea, float minProbability)
从提供的路径读取 N&M 算法第一阶段分类器的极值区域滤波器,例如 /path/to/cpp/trained_classifierNM1.xml- 参数
filename- 自动生成thresholdDelta- 自动生成minArea- 自动生成maxArea- 自动生成minProbability- 自动生成- 返回
- 自动生成
-
createERFilterNM1
public static ERFilter createERFilterNM1(java.lang.String filename, int thresholdDelta, float minArea, float maxArea)
从提供的路径读取 N&M 算法第一阶段分类器的极值区域滤波器,例如 /path/to/cpp/trained_classifierNM1.xml- 参数
filename- 自动生成thresholdDelta- 自动生成minArea- 自动生成maxArea- 自动生成- 返回
- 自动生成
-
createERFilterNM1
public static ERFilter createERFilterNM1(java.lang.String filename, int thresholdDelta, float minArea)
从提供的路径读取 N&M 算法第一阶段分类器的极值区域滤波器,例如 /path/to/cpp/trained_classifierNM1.xml- 参数
filename- 自动生成thresholdDelta- 自动生成minArea- 自动生成- 返回
- 自动生成
-
createERFilterNM1
public static ERFilter createERFilterNM1(java.lang.String filename, int thresholdDelta)
从提供的路径读取 N&M 算法第一阶段分类器的极值区域滤波器,例如 /path/to/cpp/trained_classifierNM1.xml- 参数
filename- 自动生成thresholdDelta- 自动生成- 返回
- 自动生成
-
createERFilterNM1
public static ERFilter createERFilterNM1(java.lang.String filename)
从提供的路径读取 N&M 算法第一阶段分类器的极值区域滤波器,例如 /path/to/cpp/trained_classifierNM1.xml- 参数
filename- 自动生成- 返回
- 自动生成
-
createERFilterNM2
public static ERFilter createERFilterNM2(java.lang.String filename, float minProbability)
从提供的路径读取 N&M 算法第二阶段分类器的极值区域滤波器,例如 /path/to/cpp/trained_classifierNM2.xml- 参数
filename- 自动生成minProbability- 自动生成- 返回
- 自动生成
-
createERFilterNM2
public static ERFilter createERFilterNM2(java.lang.String filename)
从提供的路径读取 N&M 算法第二阶段分类器的极值区域滤波器,例如 /path/to/cpp/trained_classifierNM2.xml- 参数
filename- 自动生成- 返回
- 自动生成
-
loadClassifierNM1
public static ERFilter_Callback loadClassifierNM1(java.lang.String filename)
创建 ERFilter 对象时,允许隐式加载默认分类器。- 参数
filename- 包含分类器模型的 XML 或 YAML 文件(例如 trained_classifierNM1.xml)返回指向 ERFilter::Callback 的指针。- 返回
- 自动生成
-
loadClassifierNM2
public static ERFilter_Callback loadClassifierNM2(java.lang.String filename)
创建 ERFilter 对象时,允许隐式加载默认分类器。- 参数
filename- 包含分类器模型的 XML 或 YAML 文件(例如 trained_classifierNM2.xml)返回指向 ERFilter::Callback 的指针。- 返回
- 自动生成
-
computeNMChannels
public static void computeNMChannels(Mat _src, java.util.List<Mat> _channels, int _mode)
计算要在 N&M 算法 CITE: Neumann12 中独立处理的不同通道。- 参数
_src- 源图像。必须是 RGB CV_8UC3。_channels- 输出 vector<Mat>,其中存储计算的通道。_mode- 操作模式。目前唯一可用的选项是:ERFILTER_NM_RGBLGrad(默认使用)和 ERFILTER_NM_IHSGrad。在 N&M 算法中,强度 (I)、色调 (H)、饱和度 (S) 和梯度幅度通道 (Grad) 的组合用于获得高定位召回率。此实现还提供了红色 (R)、绿色 (G)、蓝色 (B)、亮度 (L) 和梯度幅度 (Grad) 的替代组合。
-
computeNMChannels
public static void computeNMChannels(Mat _src, java.util.List<Mat> _channels)
计算要在 N&M 算法 CITE: Neumann12 中独立处理的不同通道。- 参数
_src- 源图像。必须是 RGB CV_8UC3。_channels- 输出 vector<Mat>,其中存储计算的通道。ERFILTER_NM_RGBLGrad(默认使用)和 ERFILTER_NM_IHSGrad。在 N&M 算法中,强度 (I)、色调 (H)、饱和度 (S) 和梯度幅度通道 (Grad) 的组合用于获得高定位召回率。此实现还提供了红色 (R)、绿色 (G)、蓝色 (B)、亮度 (L) 和梯度幅度 (Grad) 的替代组合。
-
erGrouping
public static void erGrouping(Mat image, Mat channel, java.util.List<MatOfPoint> regions, MatOfRect groups_rects, int method, java.lang.String filename, float minProbablity)
查找组织成文本块的极值区域组。- 参数
regions- 从每个通道的 ERFilter 算法中检索到的 ER 向量。提供的区域。groups_rects- 算法的输出作为矩形列表存储在此参数中。method- 分组方法(参见 text::erGrouping_Modes)。可以是 ERGROUPING_ORIENTATION_HORIZ、ERGROUPING_ORIENTATION_ANY 之一。filename- 包含分类器模型的 XML 或 YAML 文件(例如 samples/trained_classifier_erGrouping.xml)。仅当分组方法为 ERGROUPING_ORIENTATION_ANY 时使用。minProbablity- 接受组的最小概率。仅当分组方法为 ERGROUPING_ORIENTATION_ANY 时使用。image- 自动生成channel- 自动生成
-
erGrouping
public static void erGrouping(Mat image, Mat channel, java.util.List<MatOfPoint> regions, MatOfRect groups_rects, int method, java.lang.String filename)
查找组织成文本块的极值区域组。- 参数
regions- 从每个通道的 ERFilter 算法中检索到的 ER 向量。提供的区域。groups_rects- 算法的输出作为矩形列表存储在此参数中。method- 分组方法(参见 text::erGrouping_Modes)。可以是 ERGROUPING_ORIENTATION_HORIZ、ERGROUPING_ORIENTATION_ANY 之一。filename- 包含分类器模型的 XML 或 YAML 文件(例如 samples/trained_classifier_erGrouping.xml)。仅当分组方法为 ERGROUPING_ORIENTATION_ANY 时使用。方法为 ERGROUPING_ORIENTATION_ANY。image- 自动生成channel- 自动生成
-
erGrouping
public static void erGrouping(Mat image, Mat channel, java.util.List<MatOfPoint> regions, MatOfRect groups_rects, int method)
查找组织成文本块的极值区域组。- 参数
regions- 从每个通道的 ERFilter 算法中检索到的 ER 向量。提供的区域。groups_rects- 算法的输出作为矩形列表存储在此参数中。method- 分组方法(参见 text::erGrouping_Modes)。可以是 ERGROUPING_ORIENTATION_HORIZ、ERGROUPING_ORIENTATION_ANY 之一。samples/trained_classifier_erGrouping.xml)。仅当分组方法为 ERGROUPING_ORIENTATION_ANY 时使用。方法为 ERGROUPING_ORIENTATION_ANY。image- 自动生成channel- 自动生成
-
erGrouping
public static void erGrouping(Mat image, Mat channel, java.util.List<MatOfPoint> regions, MatOfRect groups_rects)
查找组织成文本块的极值区域组。- 参数
regions- 从每个通道的 ERFilter 算法中检索到的 ER 向量。提供的区域。groups_rects- 算法的输出作为矩形列表存储在此参数中。ERGROUPING_ORIENTATION_ANY。samples/trained_classifier_erGrouping.xml)。仅当分组方法为 ERGROUPING_ORIENTATION_ANY 时使用。方法为 ERGROUPING_ORIENTATION_ANY。image- 自动生成channel- 自动生成
-
detectRegions
public static void detectRegions(Mat image, ERFilter er_filter1, ERFilter er_filter2, java.util.List<MatOfPoint> regions)
将 MSER 轮廓 (vector<Point>) 转换为 ERStat 区域。- 参数
image- 提取 MSER 的源图像 CV_8UC1。regions- 存储 ERStat 区域的输出。它将 OpenCV MSER 特征检测器提供的轮廓作为输入,并返回两个 ERStats 向量作为输出。这是因为 MSER() 输出包含 MSER+ 和 MSER- 区域在一个 vector<Point> 中,该函数将它们分离到两个不同的向量中(这就像从两个不同的通道提取 ERStats)。MSERsToERStats 的使用示例可以在文本检测 webcam_demo 中找到:<https://github.com/opencv/opencv_contrib/blob/master/modules/text/samples/webcam_demo.cpp>er_filter1- 自动生成er_filter2- 自动生成
-
detectRegions
public static void detectRegions(Mat image, ERFilter er_filter1, ERFilter er_filter2, MatOfRect groups_rects, int method, java.lang.String filename, float minProbability)
从图像中提取文本区域。- 参数
image- 需要从中提取文本块的源图像。应为 CV_8UC3(彩色)。er_filter1- 用于 N&M 算法 CITE: Neumann12 的第一阶段分类器的极值区域滤波器er_filter2- 用于 N&M 算法 CITE: Neumann12 的第二阶段分类器的极值区域滤波器groups_rects- 带有文本的矩形块的输出列表method- 分组方法(参见 text::erGrouping_Modes)。可以是 ERGROUPING_ORIENTATION_HORIZ、ERGROUPING_ORIENTATION_ANY 之一。filename- 包含分类器模型的 XML 或 YAML 文件(例如 samples/trained_classifier_erGrouping.xml)。仅当分组方法为 ERGROUPING_ORIENTATION_ANY 时使用。minProbability- 接受组的最小概率。仅当分组方法为 ERGROUPING_ORIENTATION_ANY 时使用。
-
detectRegions
public static void detectRegions(Mat image, ERFilter er_filter1, ERFilter er_filter2, MatOfRect groups_rects, int method, java.lang.String filename)
从图像中提取文本区域。- 参数
image- 需要从中提取文本块的源图像。应为 CV_8UC3(彩色)。er_filter1- 用于 N&M 算法 CITE: Neumann12 的第一阶段分类器的极值区域滤波器er_filter2- 用于 N&M 算法 CITE: Neumann12 的第二阶段分类器的极值区域滤波器groups_rects- 带有文本的矩形块的输出列表method- 分组方法(参见 text::erGrouping_Modes)。可以是 ERGROUPING_ORIENTATION_HORIZ、ERGROUPING_ORIENTATION_ANY 之一。filename- 包含分类器模型的 XML 或 YAML 文件(例如 samples/trained_classifier_erGrouping.xml)。仅当分组方法为 ERGROUPING_ORIENTATION_ANY 时使用。
-
detectRegions
public static void detectRegions(Mat image, ERFilter er_filter1, ERFilter er_filter2, MatOfRect groups_rects, int method)
从图像中提取文本区域。- 参数
image- 需要从中提取文本块的源图像。应为 CV_8UC3(彩色)。er_filter1- 用于 N&M 算法 CITE: Neumann12 的第一阶段分类器的极值区域滤波器er_filter2- 用于 N&M 算法 CITE: Neumann12 的第二阶段分类器的极值区域滤波器groups_rects- 带有文本的矩形块的输出列表method- 分组方法(参见 text::erGrouping_Modes)。可以是 ERGROUPING_ORIENTATION_HORIZ、ERGROUPING_ORIENTATION_ANY 之一。
-
detectRegions
public static void detectRegions(Mat image, ERFilter er_filter1, ERFilter er_filter2, MatOfRect groups_rects)
从图像中提取文本区域。- 参数
image- 需要从中提取文本块的源图像。应为 CV_8UC3(彩色)。er_filter1- 用于 N&M 算法 CITE: Neumann12 的第一阶段分类器的极值区域滤波器er_filter2- 用于 N&M 算法 CITE: Neumann12 的第二阶段分类器的极值区域滤波器groups_rects- 带有文本的矩形块的输出列表
-
-