类 Text
- java.lang.Object
-
- org.opencv.text.Text
-
public class Text extends java.lang.Object
-
-
字段摘要
字段 修饰符和类型 字段 描述 static int
ERFILTER_NM_IHSGrad
static int
ERFILTER_NM_RGBLGrad
static int
ERGROUPING_ORIENTATION_ANY
static int
ERGROUPING_ORIENTATION_HORIZ
static int
OCR_CNN_CLASSIFIER
static int
OCR_DECODER_VITERBI
static int
OCR_KNN_CLASSIFIER
static int
OCR_LEVEL_TEXTLINE
static int
OCR_LEVEL_WORD
static int
OEM_CUBE_ONLY
static int
OEM_DEFAULT
static int
OEM_TESSERACT_CUBE_COMBINED
static int
OEM_TESSERACT_ONLY
static int
PSM_AUTO
static int
PSM_AUTO_ONLY
static int
PSM_AUTO_OSD
static int
PSM_CIRCLE_WORD
static int
PSM_OSD_ONLY
static int
PSM_SINGLE_BLOCK
static int
PSM_SINGLE_BLOCK_VERT_TEXT
static int
PSM_SINGLE_CHAR
static int
PSM_SINGLE_COLUMN
static int
PSM_SINGLE_LINE
static int
PSM_SINGLE_WORD
-
构造函数摘要
构造函数 构造函数 描述 Text()
-
方法摘要
所有方法 静态方法 具体方法 已弃用方法 修饰符和类型 方法 描述 static void
computeNMChannels(Mat _src, java.util.List<Mat> _channels)
计算N&M算法中要独立处理的不同通道 CITE: Neumann12。static void
computeNMChannels(Mat _src, java.util.List<Mat> _channels, int _mode)
计算N&M算法中要独立处理的不同通道 CITE: Neumann12。static ERFilter
createERFilterNM1(java.lang.String filename)
从提供的路径(例如)读取N&M算法第一阶段分类器的极值区域过滤器。static ERFilter
createERFilterNM1(java.lang.String filename, int thresholdDelta)
从提供的路径(例如)读取N&M算法第一阶段分类器的极值区域过滤器。static ERFilter
createERFilterNM1(java.lang.String filename, int thresholdDelta, float minArea)
从提供的路径(例如)读取N&M算法第一阶段分类器的极值区域过滤器。static ERFilter
createERFilterNM1(java.lang.String filename, int thresholdDelta, float minArea, float maxArea)
从提供的路径(例如)读取N&M算法第一阶段分类器的极值区域过滤器。static ERFilter
createERFilterNM1(java.lang.String filename, int thresholdDelta, float minArea, float maxArea, float minProbability)
从提供的路径(例如)读取N&M算法第一阶段分类器的极值区域过滤器。static ERFilter
createERFilterNM1(java.lang.String filename, int thresholdDelta, float minArea, float maxArea, float minProbability, boolean nonMaxSuppression)
从提供的路径(例如)读取N&M算法第一阶段分类器的极值区域过滤器。static ERFilter
createERFilterNM1(java.lang.String filename, int thresholdDelta, float minArea, float maxArea, float minProbability, boolean nonMaxSuppression, float minProbabilityDiff)
从提供的路径(例如)读取N&M算法第一阶段分类器的极值区域过滤器。static ERFilter
createERFilterNM1(ERFilter_Callback cb)
创建N&M算法第一阶段分类器的极值区域过滤器 CITE: Neumann12。static ERFilter
createERFilterNM1(ERFilter_Callback cb, int thresholdDelta)
创建N&M算法第一阶段分类器的极值区域过滤器 CITE: Neumann12。static ERFilter
createERFilterNM1(ERFilter_Callback cb, int thresholdDelta, float minArea)
创建N&M算法第一阶段分类器的极值区域过滤器 CITE: Neumann12。static ERFilter
createERFilterNM1(ERFilter_Callback cb, int thresholdDelta, float minArea, float maxArea)
创建N&M算法第一阶段分类器的极值区域过滤器 CITE: Neumann12。static ERFilter
createERFilterNM1(ERFilter_Callback cb, int thresholdDelta, float minArea, float maxArea, float minProbability)
创建N&M算法第一阶段分类器的极值区域过滤器 CITE: Neumann12。static ERFilter
createERFilterNM1(ERFilter_Callback cb, int thresholdDelta, float minArea, float maxArea, float minProbability, boolean nonMaxSuppression)
创建N&M算法第一阶段分类器的极值区域过滤器 CITE: Neumann12。static ERFilter
createERFilterNM1(ERFilter_Callback cb, int thresholdDelta, float minArea, float maxArea, float minProbability, boolean nonMaxSuppression, float minProbabilityDiff)
创建N&M算法第一阶段分类器的极值区域过滤器 CITE: Neumann12。static ERFilter
createERFilterNM2(java.lang.String filename)
从提供的路径(例如)读取N&M算法第二阶段分类器的极值区域过滤器。static ERFilter
createERFilterNM2(java.lang.String filename, float minProbability)
从提供的路径(例如)读取N&M算法第二阶段分类器的极值区域过滤器。static ERFilter
createERFilterNM2(ERFilter_Callback cb)
创建N&M算法第二阶段分类器的极值区域过滤器 CITE: Neumann12。static ERFilter
createERFilterNM2(ERFilter_Callback cb, float minProbability)
创建N&M算法第二阶段分类器的极值区域过滤器 CITE: Neumann12。static Mat
createOCRHMMTransitionsTable(java.lang.String vocabulary, java.util.List<java.lang.String> lexicon)
实用函数,用于根据给定的单词列表(词典)创建定制的语言模型转移表。static void
detectRegions(Mat image, ERFilter er_filter1, ERFilter er_filter2, java.util.List<MatOfPoint> regions)
将MSER轮廓(vector<Point>)转换为ERStat区域。static void
detectRegions(Mat image, ERFilter er_filter1, ERFilter er_filter2, MatOfRect groups_rects)
从图像中提取文本区域。static void
detectRegions(Mat image, ERFilter er_filter1, ERFilter er_filter2, MatOfRect groups_rects, int method)
从图像中提取文本区域。static void
detectRegions(Mat image, ERFilter er_filter1, ERFilter er_filter2, MatOfRect groups_rects, int method, java.lang.String filename)
从图像中提取文本区域。static void
detectRegions(Mat image, ERFilter er_filter1, ERFilter er_filter2, MatOfRect groups_rects, int method, java.lang.String filename, float minProbability)
从图像中提取文本区域。static void
detectTextSWT(Mat input, MatOfRect result, boolean dark_on_light)
应用笔画宽度变换算子,然后过滤具有相似笔画宽度的连通分量,以返回字母候选。static void
detectTextSWT(Mat input, MatOfRect result, boolean dark_on_light, Mat draw)
应用笔画宽度变换算子,然后过滤具有相似笔画宽度的连通分量,以返回字母候选。static void
detectTextSWT(Mat input, MatOfRect result, boolean dark_on_light, Mat draw, Mat chainBBs)
应用笔画宽度变换算子,然后过滤具有相似笔画宽度的连通分量,以返回字母候选。static void
erGrouping(Mat image, Mat channel, java.util.List<MatOfPoint> regions, MatOfRect groups_rects)
查找组织为文本块的极值区域组。static void
erGrouping(Mat image, Mat channel, java.util.List<MatOfPoint> regions, MatOfRect groups_rects, int method)
查找组织为文本块的极值区域组。static void
erGrouping(Mat image, Mat channel, java.util.List<MatOfPoint> regions, MatOfRect groups_rects, int method, java.lang.String filename)
查找组织为文本块的极值区域组。static void
erGrouping(Mat image, Mat channel, java.util.List<MatOfPoint> regions, MatOfRect groups_rects, int method, java.lang.String filename, float minProbablity)
查找组织为文本块的极值区域组。static ERFilter_Callback
loadClassifierNM1(java.lang.String filename)
允许在创建 ERFilter 对象时隐式加载默认分类器。static ERFilter_Callback
loadClassifierNM2(java.lang.String filename)
允许在创建 ERFilter 对象时隐式加载默认分类器。static OCRBeamSearchDecoder_ClassifierCallback
loadOCRBeamSearchClassifierCNN(java.lang.String filename)
允许在创建 OCRBeamSearchDecoder 对象时隐式加载默认字符分类器。static OCRHMMDecoder_ClassifierCallback
loadOCRHMMClassifier(java.lang.String filename, int classifier)
允许在创建 OCRHMMDecoder 对象时隐式加载默认字符分类器。static OCRHMMDecoder_ClassifierCallback
loadOCRHMMClassifierCNN(java.lang.String filename)
已弃用。请改用 loadOCRHMMClassifierstatic OCRHMMDecoder_ClassifierCallback
loadOCRHMMClassifierNM(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
- 另请参见
- 常量字段值
-
-
方法详情
-
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] 中提出的场景文本识别方法。字符分类器由单层卷积神经网络和线性分类器组成。它以滑动窗口的方式应用于输入图像,在每个窗口位置提供一组识别结果。- 返回
- 自动生成
-
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 算子获得的梯度,并显着影响结果。
-
createERFilterNM1
public static ERFilter createERFilterNM1(ERFilter_Callback cb, int thresholdDelta, float minArea, float maxArea, float minProbability, boolean nonMaxSuppression, float minProbabilityDiff)
为N&M算法(文献:Neumann12)的第一阶段分类器创建一个极值区域过滤器,例如从samples/cpp/trained_classifierNM1.xml文件中加载loadClassifierNM1。图像的组件树通过逐步从0增加到255的阈值提取,为每个ER计算增量可计算描述符(纵横比、紧凑性、孔洞数量和水平交叉数量),并将其用作分类器的特征,该分类器估计类条件概率P(er|character)。使用ER在所有阈值上的包含关系跟踪P(er|character)的值,并且只选择对应于概率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算法(文献:Neumann12)的第一阶段分类器创建一个极值区域过滤器,例如从samples/cpp/trained_classifierNM1.xml文件中加载loadClassifierNM1。图像的组件树通过逐步从0增加到255的阈值提取,为每个ER计算增量可计算描述符(纵横比、紧凑性、孔洞数量和水平交叉数量),并将其用作分类器的特征,该分类器估计类条件概率P(er|character)。使用ER在所有阈值上的包含关系跟踪P(er|character)的值,并且只选择对应于概率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算法(文献:Neumann12)的第一阶段分类器创建一个极值区域过滤器,例如从samples/cpp/trained_classifierNM1.xml文件中加载loadClassifierNM1。图像的组件树通过逐步从0增加到255的阈值提取,为每个ER计算增量可计算描述符(纵横比、紧凑性、孔洞数量和水平交叉数量),并将其用作分类器的特征,该分类器估计类条件概率P(er|character)。使用ER在所有阈值上的包含关系跟踪P(er|character)的值,并且只选择对应于概率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算法(文献:Neumann12)的第一阶段分类器创建一个极值区域过滤器,例如从samples/cpp/trained_classifierNM1.xml文件中加载loadClassifierNM1。图像的组件树通过逐步从0增加到255的阈值提取,为每个ER计算增量可计算描述符(纵横比、紧凑性、孔洞数量和水平交叉数量),并将其用作分类器的特征,该分类器估计类条件概率P(er|character)。使用ER在所有阈值上的包含关系跟踪P(er|character)的值,并且只选择对应于概率P(er|character)局部最大值的ER(如果概率的局部最大值高于全局限制pmin,并且局部最大值和局部最小值之间的差值大于minProbabilityDiff)。- 参数
cb
- 自动生成thresholdDelta
- 自动生成minArea
- 自动生成maxArea
- 自动生成- 返回
- 自动生成
-
createERFilterNM1
public static ERFilter createERFilterNM1(ERFilter_Callback cb, int thresholdDelta, float minArea)
为N&M算法(文献:Neumann12)的第一阶段分类器创建一个极值区域过滤器,例如从samples/cpp/trained_classifierNM1.xml文件中加载loadClassifierNM1。图像的组件树通过逐步从0增加到255的阈值提取,为每个ER计算增量可计算描述符(纵横比、紧凑性、孔洞数量和水平交叉数量),并将其用作分类器的特征,该分类器估计类条件概率P(er|character)。使用ER在所有阈值上的包含关系跟踪P(er|character)的值,并且只选择对应于概率P(er|character)局部最大值的ER(如果概率的局部最大值高于全局限制pmin,并且局部最大值和局部最小值之间的差值大于minProbabilityDiff)。- 参数
cb
- 自动生成thresholdDelta
- 自动生成minArea
- 自动生成- 返回
- 自动生成
-
createERFilterNM1
public static ERFilter createERFilterNM1(ERFilter_Callback cb, int thresholdDelta)
为N&M算法(文献:Neumann12)的第一阶段分类器创建一个极值区域过滤器,例如从samples/cpp/trained_classifierNM1.xml文件中加载loadClassifierNM1。图像的组件树通过逐步从0增加到255的阈值提取,为每个ER计算增量可计算描述符(纵横比、紧凑性、孔洞数量和水平交叉数量),并将其用作分类器的特征,该分类器估计类条件概率P(er|character)。使用ER在所有阈值上的包含关系跟踪P(er|character)的值,并且只选择对应于概率P(er|character)局部最大值的ER(如果概率的局部最大值高于全局限制pmin,并且局部最大值和局部最小值之间的差值大于minProbabilityDiff)。- 参数
cb
- 自动生成thresholdDelta
- 自动生成- 返回
- 自动生成
-
createERFilterNM1
public static ERFilter createERFilterNM1(ERFilter_Callback cb)
为N&M算法(文献:Neumann12)的第一阶段分类器创建一个极值区域过滤器,例如从samples/cpp/trained_classifierNM1.xml文件中加载loadClassifierNM1。图像的组件树通过逐步从0增加到255的阈值提取,为每个ER计算增量可计算描述符(纵横比、紧凑性、孔洞数量和水平交叉数量),并将其用作分类器的特征,该分类器估计类条件概率P(er|character)。使用ER在所有阈值上的包含关系跟踪P(er|character)的值,并且只选择对应于概率P(er|character)局部最大值的ER(如果概率的局部最大值高于全局限制pmin,并且局部最大值和局部最小值之间的差值大于minProbabilityDiff)。- 参数
cb
- 自动生成- 返回
- 自动生成
-
createERFilterNM2
public static ERFilter createERFilterNM2(ERFilter_Callback cb, float minProbability)
为N&M算法(文献:Neumann12)的第二阶段分类器创建一个极值区域过滤器,例如从samples/cpp/trained_classifierNM2.xml文件中加载loadClassifierNM2。在第二阶段,使用信息量更大但计算成本也更高的特征,将通过第一阶段的ER分类为字符类和非字符类。分类器使用第一阶段计算的所有特征以及以下附加特征:孔洞面积比、凸包比和外部拐点数量。- 参数
cb
- 自动生成minProbability
- 自动生成- 返回
- 自动生成
-
createERFilterNM2
public static ERFilter createERFilterNM2(ERFilter_Callback cb)
为N&M算法(文献:Neumann12)的第二阶段分类器创建一个极值区域过滤器,例如从samples/cpp/trained_classifierNM2.xml文件中加载loadClassifierNM2。在第二阶段,使用信息量更大但计算成本也更高的特征,将通过第一阶段的ER分类为字符类和非字符类。分类器使用第一阶段计算的所有特征以及以下附加特征:孔洞面积比、凸包比和外部拐点数量。- 参数
cb
- 自动生成- 返回
- 自动生成
-
createERFilterNM1
public static ERFilter createERFilterNM1(java.lang.String filename, int thresholdDelta, float minArea, float maxArea, float minProbability, boolean nonMaxSuppression, float minProbabilityDiff)
从提供的路径(例如/path/to/cpp/trained_classifierNM1.xml)读取N&M算法第一阶段分类器的极值区域过滤器。- 参数
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)
从提供的路径(例如/path/to/cpp/trained_classifierNM1.xml)读取N&M算法第一阶段分类器的极值区域过滤器。- 参数
filename
- 自动生成thresholdDelta
- 自动生成minArea
- 自动生成maxArea
- 自动生成minProbability
- 自动生成nonMaxSuppression
- 自动生成- 返回
- 自动生成
-
createERFilterNM1
public static ERFilter createERFilterNM1(java.lang.String filename, int thresholdDelta, float minArea, float maxArea, float minProbability)
从提供的路径(例如/path/to/cpp/trained_classifierNM1.xml)读取N&M算法第一阶段分类器的极值区域过滤器。- 参数
filename
- 自动生成thresholdDelta
- 自动生成minArea
- 自动生成maxArea
- 自动生成minProbability
- 自动生成- 返回
- 自动生成
-
createERFilterNM1
public static ERFilter createERFilterNM1(java.lang.String filename, int thresholdDelta, float minArea, float maxArea)
从提供的路径(例如/path/to/cpp/trained_classifierNM1.xml)读取N&M算法第一阶段分类器的极值区域过滤器。- 参数
filename
- 自动生成thresholdDelta
- 自动生成minArea
- 自动生成maxArea
- 自动生成- 返回
- 自动生成
-
createERFilterNM1
public static ERFilter createERFilterNM1(java.lang.String filename, int thresholdDelta, float minArea)
从提供的路径(例如/path/to/cpp/trained_classifierNM1.xml)读取N&M算法第一阶段分类器的极值区域过滤器。- 参数
filename
- 自动生成thresholdDelta
- 自动生成minArea
- 自动生成- 返回
- 自动生成
-
createERFilterNM1
public static ERFilter createERFilterNM1(java.lang.String filename, int thresholdDelta)
从提供的路径(例如/path/to/cpp/trained_classifierNM1.xml)读取N&M算法第一阶段分类器的极值区域过滤器。- 参数
filename
- 自动生成thresholdDelta
- 自动生成- 返回
- 自动生成
-
createERFilterNM1
public static ERFilter createERFilterNM1(java.lang.String filename)
从提供的路径(例如/path/to/cpp/trained_classifierNM1.xml)读取N&M算法第一阶段分类器的极值区域过滤器。- 参数
filename
- 自动生成- 返回
- 自动生成
-
createERFilterNM2
public static ERFilter createERFilterNM2(java.lang.String filename, float minProbability)
从提供的路径(例如/path/to/cpp/trained_classifierNM2.xml)读取N&M算法第二阶段分类器的极值区域过滤器。- 参数
filename
- 自动生成minProbability
- 自动生成- 返回
- 自动生成
-
createERFilterNM2
public static ERFilter createERFilterNM2(java.lang.String filename)
从提供的路径(例如/path/to/cpp/trained_classifierNM2.xml)读取N&M算法第二阶段分类器的极值区域过滤器。- 参数
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
- 存储计算出的通道的输出向量<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
- 存储计算出的通道的输出向量<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时使用。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之一。image
- 自动生成channel
- 自动生成
-
erGrouping
public static void erGrouping(Mat image, Mat channel, java.util.List<MatOfPoint> regions, MatOfRect groups_rects)
查找组织为文本块的极值区域组。- 参数
regions
- 来自每个通道的ERFilter算法检索到的ER向量。提供的区域。groups_rects
- 算法的输出存储在此参数中,作为矩形列表。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()输出在一个单一的向量<Point>中包含MSER+和MSER-区域,该函数将它们分别分成两个不同的向量(这就像从两个不同的通道中提取ERStats一样)。在文本检测webcam_demo中可以找到MSERsToERStats的使用示例:<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算法(文献:Neumann12)的第一阶段分类器的极值区域过滤器er_filter2
- N&M算法(文献: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算法(文献:Neumann12)的第一阶段分类器的极值区域过滤器er_filter2
- N&M算法(文献: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算法(文献:Neumann12)的第一阶段分类器的极值区域过滤器er_filter2
- N&M算法(文献: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算法(文献:Neumann12)的第一阶段分类器的极值区域过滤器er_filter2
- N&M算法(文献:Neumann12)的第二阶段分类器的极值区域过滤器groups_rects
- 包含文本的矩形块输出列表
-
-