public class Text extends Object
Modifier and Type | Field and Description |
---|---|
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 |
Constructor and Description |
---|
Text() |
Modifier and Type | Method and Description |
---|---|
static void |
computeNMChannels(Mat _src,
List<Mat> _channels)
Compute the different channels to be processed independently in the N&M algorithm CITE: Neumann12.
|
static void |
computeNMChannels(Mat _src,
List<Mat> _channels,
int _mode)
Compute the different channels to be processed independently in the N&M algorithm CITE: Neumann12.
|
static ERFilter |
createERFilterNM1(String filename)
Reads an Extremal Region Filter for the 1st stage classifier of N&M algorithm
from the provided path e.g.
|
static ERFilter |
createERFilterNM1(String filename,
int thresholdDelta)
Reads an Extremal Region Filter for the 1st stage classifier of N&M algorithm
from the provided path e.g.
|
static ERFilter |
createERFilterNM1(String filename,
int thresholdDelta,
float minArea)
Reads an Extremal Region Filter for the 1st stage classifier of N&M algorithm
from the provided path e.g.
|
static ERFilter |
createERFilterNM1(String filename,
int thresholdDelta,
float minArea,
float maxArea)
Reads an Extremal Region Filter for the 1st stage classifier of N&M algorithm
from the provided path e.g.
|
static ERFilter |
createERFilterNM1(String filename,
int thresholdDelta,
float minArea,
float maxArea,
float minProbability)
Reads an Extremal Region Filter for the 1st stage classifier of N&M algorithm
from the provided path e.g.
|
static ERFilter |
createERFilterNM1(String filename,
int thresholdDelta,
float minArea,
float maxArea,
float minProbability,
boolean nonMaxSuppression)
Reads an Extremal Region Filter for the 1st stage classifier of N&M algorithm
from the provided path e.g.
|
static ERFilter |
createERFilterNM1(String filename,
int thresholdDelta,
float minArea,
float maxArea,
float minProbability,
boolean nonMaxSuppression,
float minProbabilityDiff)
Reads an Extremal Region Filter for the 1st stage classifier of N&M algorithm
from the provided path e.g.
|
static ERFilter |
createERFilterNM2(String filename)
Reads an Extremal Region Filter for the 2nd stage classifier of N&M algorithm
from the provided path e.g.
|
static ERFilter |
createERFilterNM2(String filename,
float minProbability)
Reads an Extremal Region Filter for the 2nd stage classifier of N&M algorithm
from the provided path e.g.
|
static Mat |
createOCRHMMTransitionsTable(String vocabulary,
List<String> lexicon)
Utility function to create a tailored language model transitions table from a given list of words (lexicon).
|
static void |
detectRegions(Mat image,
ERFilter er_filter1,
ERFilter er_filter2,
List<MatOfPoint> regions)
Converts MSER contours (vector<Point>) to ERStat regions.
|
static void |
detectRegions(Mat image,
ERFilter er_filter1,
ERFilter er_filter2,
MatOfRect groups_rects)
Extracts text regions from image.
|
static void |
detectRegions(Mat image,
ERFilter er_filter1,
ERFilter er_filter2,
MatOfRect groups_rects,
int method)
Extracts text regions from image.
|
static void |
detectRegions(Mat image,
ERFilter er_filter1,
ERFilter er_filter2,
MatOfRect groups_rects,
int method,
String filename)
Extracts text regions from image.
|
static void |
detectRegions(Mat image,
ERFilter er_filter1,
ERFilter er_filter2,
MatOfRect groups_rects,
int method,
String filename,
float minProbability)
Extracts text regions from image.
|
static void |
erGrouping(Mat image,
Mat channel,
List<MatOfPoint> regions,
MatOfRect groups_rects)
Find groups of Extremal Regions that are organized as text blocks.
|
static void |
erGrouping(Mat image,
Mat channel,
List<MatOfPoint> regions,
MatOfRect groups_rects,
int method)
Find groups of Extremal Regions that are organized as text blocks.
|
static void |
erGrouping(Mat image,
Mat channel,
List<MatOfPoint> regions,
MatOfRect groups_rects,
int method,
String filename)
Find groups of Extremal Regions that are organized as text blocks.
|
static void |
erGrouping(Mat image,
Mat channel,
List<MatOfPoint> regions,
MatOfRect groups_rects,
int method,
String filename,
float minProbablity)
Find groups of Extremal Regions that are organized as text blocks.
|
public static final int OCR_KNN_CLASSIFIER
public static final int OCR_CNN_CLASSIFIER
public static final int OCR_DECODER_VITERBI
public static final int ERFILTER_NM_RGBLGrad
public static final int ERFILTER_NM_IHSGrad
public static final int OCR_LEVEL_WORD
public static final int OCR_LEVEL_TEXTLINE
public static final int ERGROUPING_ORIENTATION_HORIZ
public static final int ERGROUPING_ORIENTATION_ANY
public static final int OEM_TESSERACT_ONLY
public static final int OEM_CUBE_ONLY
public static final int OEM_TESSERACT_CUBE_COMBINED
public static final int OEM_DEFAULT
public static final int PSM_OSD_ONLY
public static final int PSM_AUTO_OSD
public static final int PSM_AUTO_ONLY
public static final int PSM_AUTO
public static final int PSM_SINGLE_COLUMN
public static final int PSM_SINGLE_BLOCK_VERT_TEXT
public static final int PSM_SINGLE_BLOCK
public static final int PSM_SINGLE_LINE
public static final int PSM_SINGLE_WORD
public static final int PSM_CIRCLE_WORD
public static final int PSM_SINGLE_CHAR
public static Mat createOCRHMMTransitionsTable(String vocabulary, List<String> lexicon)
vocabulary
- The language vocabulary (chars when ASCII English text).lexicon
- The list of words that are expected to be found in a particular image.
The function calculate frequency statistics of character pairs from the given lexicon and fills the output transition_probabilities_table with them. The transition_probabilities_table can be used as input in the OCRHMMDecoder::create() and OCRBeamSearchDecoder::create() methods.
Note:
- (C++) An alternative would be to load the default generic language transition table provided in the text module samples folder (created from ispell 42869 english words list) :
<https://github.com/opencv/opencv_contrib/blob/master/modules/text/samples/OCRHMM_transitions_table.xml>public static ERFilter createERFilterNM1(String filename, int thresholdDelta, float minArea, float maxArea, float minProbability, boolean nonMaxSuppression, float minProbabilityDiff)
filename
- automatically generatedthresholdDelta
- automatically generatedminArea
- automatically generatedmaxArea
- automatically generatedminProbability
- automatically generatednonMaxSuppression
- automatically generatedminProbabilityDiff
- automatically generatedpublic static ERFilter createERFilterNM1(String filename, int thresholdDelta, float minArea, float maxArea, float minProbability, boolean nonMaxSuppression)
filename
- automatically generatedthresholdDelta
- automatically generatedminArea
- automatically generatedmaxArea
- automatically generatedminProbability
- automatically generatednonMaxSuppression
- automatically generatedpublic static ERFilter createERFilterNM1(String filename, int thresholdDelta, float minArea, float maxArea, float minProbability)
filename
- automatically generatedthresholdDelta
- automatically generatedminArea
- automatically generatedmaxArea
- automatically generatedminProbability
- automatically generatedpublic static ERFilter createERFilterNM1(String filename, int thresholdDelta, float minArea, float maxArea)
filename
- automatically generatedthresholdDelta
- automatically generatedminArea
- automatically generatedmaxArea
- automatically generatedpublic static ERFilter createERFilterNM1(String filename, int thresholdDelta, float minArea)
filename
- automatically generatedthresholdDelta
- automatically generatedminArea
- automatically generatedpublic static ERFilter createERFilterNM1(String filename, int thresholdDelta)
filename
- automatically generatedthresholdDelta
- automatically generatedpublic static ERFilter createERFilterNM1(String filename)
filename
- automatically generatedpublic static ERFilter createERFilterNM2(String filename, float minProbability)
filename
- automatically generatedminProbability
- automatically generatedpublic static ERFilter createERFilterNM2(String filename)
filename
- automatically generatedpublic static void computeNMChannels(Mat _src, List<Mat> _channels, int _mode)
_src
- Source image. Must be RGB CV_8UC3._channels
- Output vector<Mat> where computed channels are stored._mode
- Mode of operation. Currently the only available options are:
ERFILTER_NM_RGBLGrad (used by default) and ERFILTER_NM_IHSGrad.
In N&M algorithm, the combination of intensity (I), hue (H), saturation (S), and gradient magnitude
channels (Grad) are used in order to obtain high localization recall. This implementation also
provides an alternative combination of red (R), green (G), blue (B), lightness (L), and gradient
magnitude (Grad).public static void computeNMChannels(Mat _src, List<Mat> _channels)
_src
- Source image. Must be RGB CV_8UC3._channels
- Output vector<Mat> where computed channels are stored.
ERFILTER_NM_RGBLGrad (used by default) and ERFILTER_NM_IHSGrad.
In N&M algorithm, the combination of intensity (I), hue (H), saturation (S), and gradient magnitude
channels (Grad) are used in order to obtain high localization recall. This implementation also
provides an alternative combination of red (R), green (G), blue (B), lightness (L), and gradient
magnitude (Grad).public static void detectRegions(Mat image, ERFilter er_filter1, ERFilter er_filter2, MatOfRect groups_rects, int method, String filename, float minProbability)
image
- Source image where text blocks needs to be extracted from. Should be CV_8UC3 (color).er_filter1
- Extremal Region Filter for the 1st stage classifier of N&M algorithm CITE: Neumann12er_filter2
- Extremal Region Filter for the 2nd stage classifier of N&M algorithm CITE: Neumann12groups_rects
- Output list of rectangle blocks with textmethod
- Grouping method (see text::erGrouping_Modes). Can be one of ERGROUPING_ORIENTATION_HORIZ, ERGROUPING_ORIENTATION_ANY.filename
- The XML or YAML file with the classifier model (e.g. samples/trained_classifier_erGrouping.xml). Only to use when grouping method is ERGROUPING_ORIENTATION_ANY.minProbability
- The minimum probability for accepting a group. Only to use when grouping method is ERGROUPING_ORIENTATION_ANY.public static void detectRegions(Mat image, ERFilter er_filter1, ERFilter er_filter2, MatOfRect groups_rects, int method, String filename)
image
- Source image where text blocks needs to be extracted from. Should be CV_8UC3 (color).er_filter1
- Extremal Region Filter for the 1st stage classifier of N&M algorithm CITE: Neumann12er_filter2
- Extremal Region Filter for the 2nd stage classifier of N&M algorithm CITE: Neumann12groups_rects
- Output list of rectangle blocks with textmethod
- Grouping method (see text::erGrouping_Modes). Can be one of ERGROUPING_ORIENTATION_HORIZ, ERGROUPING_ORIENTATION_ANY.filename
- The XML or YAML file with the classifier model (e.g. samples/trained_classifier_erGrouping.xml). Only to use when grouping method is ERGROUPING_ORIENTATION_ANY.public static void detectRegions(Mat image, ERFilter er_filter1, ERFilter er_filter2, MatOfRect groups_rects, int method)
image
- Source image where text blocks needs to be extracted from. Should be CV_8UC3 (color).er_filter1
- Extremal Region Filter for the 1st stage classifier of N&M algorithm CITE: Neumann12er_filter2
- Extremal Region Filter for the 2nd stage classifier of N&M algorithm CITE: Neumann12groups_rects
- Output list of rectangle blocks with textmethod
- Grouping method (see text::erGrouping_Modes). Can be one of ERGROUPING_ORIENTATION_HORIZ, ERGROUPING_ORIENTATION_ANY.public static void detectRegions(Mat image, ERFilter er_filter1, ERFilter er_filter2, MatOfRect groups_rects)
image
- Source image where text blocks needs to be extracted from. Should be CV_8UC3 (color).er_filter1
- Extremal Region Filter for the 1st stage classifier of N&M algorithm CITE: Neumann12er_filter2
- Extremal Region Filter for the 2nd stage classifier of N&M algorithm CITE: Neumann12groups_rects
- Output list of rectangle blocks with textpublic static void detectRegions(Mat image, ERFilter er_filter1, ERFilter er_filter2, List<MatOfPoint> regions)
image
- Source image CV_8UC1 from which the MSERs where extracted.regions
- Output where the ERStat regions are stored.
It takes as input the contours provided by the OpenCV MSER feature detector and returns as output
two vectors of ERStats. This is because MSER() output contains both MSER+ and MSER- regions in a
single vector<Point>, the function separates them in two different vectors (this is as if the
ERStats where extracted from two different channels).
An example of MSERsToERStats in use can be found in the text detection webcam_demo:
<https://github.com/opencv/opencv_contrib/blob/master/modules/text/samples/webcam_demo.cpp>er_filter1
- automatically generateder_filter2
- automatically generatedpublic static void erGrouping(Mat image, Mat channel, List<MatOfPoint> regions, MatOfRect groups_rects, int method, String filename, float minProbablity)
regions
- Vector of ER's retrieved from the ERFilter algorithm from each channel.
provided regions.groups_rects
- The output of the algorithm are stored in this parameter as list of rectangles.method
- Grouping method (see text::erGrouping_Modes). Can be one of ERGROUPING_ORIENTATION_HORIZ,
ERGROUPING_ORIENTATION_ANY.filename
- The XML or YAML file with the classifier model (e.g.
samples/trained_classifier_erGrouping.xml). Only to use when grouping method is
ERGROUPING_ORIENTATION_ANY.minProbablity
- The minimum probability for accepting a group. Only to use when grouping
method is ERGROUPING_ORIENTATION_ANY.image
- automatically generatedchannel
- automatically generatedpublic static void erGrouping(Mat image, Mat channel, List<MatOfPoint> regions, MatOfRect groups_rects, int method, String filename)
regions
- Vector of ER's retrieved from the ERFilter algorithm from each channel.
provided regions.groups_rects
- The output of the algorithm are stored in this parameter as list of rectangles.method
- Grouping method (see text::erGrouping_Modes). Can be one of ERGROUPING_ORIENTATION_HORIZ,
ERGROUPING_ORIENTATION_ANY.filename
- The XML or YAML file with the classifier model (e.g.
samples/trained_classifier_erGrouping.xml). Only to use when grouping method is
ERGROUPING_ORIENTATION_ANY.
method is ERGROUPING_ORIENTATION_ANY.image
- automatically generatedchannel
- automatically generatedpublic static void erGrouping(Mat image, Mat channel, List<MatOfPoint> regions, MatOfRect groups_rects, int method)
regions
- Vector of ER's retrieved from the ERFilter algorithm from each channel.
provided regions.groups_rects
- The output of the algorithm are stored in this parameter as list of rectangles.method
- Grouping method (see text::erGrouping_Modes). Can be one of ERGROUPING_ORIENTATION_HORIZ,
ERGROUPING_ORIENTATION_ANY.
samples/trained_classifier_erGrouping.xml). Only to use when grouping method is
ERGROUPING_ORIENTATION_ANY.
method is ERGROUPING_ORIENTATION_ANY.image
- automatically generatedchannel
- automatically generatedpublic static void erGrouping(Mat image, Mat channel, List<MatOfPoint> regions, MatOfRect groups_rects)
regions
- Vector of ER's retrieved from the ERFilter algorithm from each channel.
provided regions.groups_rects
- The output of the algorithm are stored in this parameter as list of rectangles.
ERGROUPING_ORIENTATION_ANY.
samples/trained_classifier_erGrouping.xml). Only to use when grouping method is
ERGROUPING_ORIENTATION_ANY.
method is ERGROUPING_ORIENTATION_ANY.image
- automatically generatedchannel
- automatically generatedGenerated on Wed Oct 9 2019 23:24:43 UTC / OpenCV 4.1.2