create_ocr_class_svmT_create_ocr_class_svmCreateOcrClassSvmCreateOcrClassSvmcreate_ocr_class_svm (算子)
名称
create_ocr_class_svmT_create_ocr_class_svmCreateOcrClassSvmCreateOcrClassSvmcreate_ocr_class_svm — 使用支持向量机创建 OCR 分类器。
签名
create_ocr_class_svm( : : WidthCharacter, HeightCharacter, Interpolation, Features, Characters, KernelType, KernelParam, Nu, Mode, Preprocessing, NumComponents : OCRHandle)
Herror T_create_ocr_class_svm(const Htuple WidthCharacter, const Htuple HeightCharacter, const Htuple Interpolation, const Htuple Features, const Htuple Characters, const Htuple KernelType, const Htuple KernelParam, const Htuple Nu, const Htuple Mode, const Htuple Preprocessing, const Htuple NumComponents, Htuple* OCRHandle)
void CreateOcrClassSvm(const HTuple& WidthCharacter, const HTuple& HeightCharacter, const HTuple& Interpolation, const HTuple& Features, const HTuple& Characters, const HTuple& KernelType, const HTuple& KernelParam, const HTuple& Nu, const HTuple& Mode, const HTuple& Preprocessing, const HTuple& NumComponents, HTuple* OCRHandle)
void HOCRSvm::HOCRSvm(Hlong WidthCharacter, Hlong HeightCharacter, const HString& Interpolation, const HTuple& Features, const HTuple& Characters, const HString& KernelType, double KernelParam, double Nu, const HString& Mode, const HString& Preprocessing, Hlong NumComponents)
void HOCRSvm::HOCRSvm(Hlong WidthCharacter, Hlong HeightCharacter, const HString& Interpolation, const HString& Features, const HTuple& Characters, const HString& KernelType, double KernelParam, double Nu, const HString& Mode, const HString& Preprocessing, Hlong NumComponents)
void HOCRSvm::HOCRSvm(Hlong WidthCharacter, Hlong HeightCharacter, const char* Interpolation, const char* Features, const HTuple& Characters, const char* KernelType, double KernelParam, double Nu, const char* Mode, const char* Preprocessing, Hlong NumComponents)
void HOCRSvm::HOCRSvm(Hlong WidthCharacter, Hlong HeightCharacter, const wchar_t* Interpolation, const wchar_t* Features, const HTuple& Characters, const wchar_t* KernelType, double KernelParam, double Nu, const wchar_t* Mode, const wchar_t* Preprocessing, Hlong NumComponents)
(
Windows only)
void HOCRSvm::CreateOcrClassSvm(Hlong WidthCharacter, Hlong HeightCharacter, const HString& Interpolation, const HTuple& Features, const HTuple& Characters, const HString& KernelType, double KernelParam, double Nu, const HString& Mode, const HString& Preprocessing, Hlong NumComponents)
void HOCRSvm::CreateOcrClassSvm(Hlong WidthCharacter, Hlong HeightCharacter, const HString& Interpolation, const HString& Features, const HTuple& Characters, const HString& KernelType, double KernelParam, double Nu, const HString& Mode, const HString& Preprocessing, Hlong NumComponents)
void HOCRSvm::CreateOcrClassSvm(Hlong WidthCharacter, Hlong HeightCharacter, const char* Interpolation, const char* Features, const HTuple& Characters, const char* KernelType, double KernelParam, double Nu, const char* Mode, const char* Preprocessing, Hlong NumComponents)
void HOCRSvm::CreateOcrClassSvm(Hlong WidthCharacter, Hlong HeightCharacter, const wchar_t* Interpolation, const wchar_t* Features, const HTuple& Characters, const wchar_t* KernelType, double KernelParam, double Nu, const wchar_t* Mode, const wchar_t* Preprocessing, Hlong NumComponents)
(
Windows only)
static void HOperatorSet.CreateOcrClassSvm(HTuple widthCharacter, HTuple heightCharacter, HTuple interpolation, HTuple features, HTuple characters, HTuple kernelType, HTuple kernelParam, HTuple nu, HTuple mode, HTuple preprocessing, HTuple numComponents, out HTuple OCRHandle)
public HOCRSvm(int widthCharacter, int heightCharacter, string interpolation, HTuple features, HTuple characters, string kernelType, double kernelParam, double nu, string mode, string preprocessing, int numComponents)
public HOCRSvm(int widthCharacter, int heightCharacter, string interpolation, string features, HTuple characters, string kernelType, double kernelParam, double nu, string mode, string preprocessing, int numComponents)
void HOCRSvm.CreateOcrClassSvm(int widthCharacter, int heightCharacter, string interpolation, HTuple features, HTuple characters, string kernelType, double kernelParam, double nu, string mode, string preprocessing, int numComponents)
void HOCRSvm.CreateOcrClassSvm(int widthCharacter, int heightCharacter, string interpolation, string features, HTuple characters, string kernelType, double kernelParam, double nu, string mode, string preprocessing, int numComponents)
def create_ocr_class_svm(width_character: int, height_character: int, interpolation: str, features: MaybeSequence[str], characters: Sequence[str], kernel_type: str, kernel_param: float, nu: float, mode: str, preprocessing: str, num_components: int) -> HHandle
描述
create_ocr_class_svmcreate_ocr_class_svmCreateOcrClassSvmCreateOcrClassSvmCreateOcrClassSvmcreate_ocr_class_svm creates an OCR classifier that uses a
support vector machine (SVM). The handle of the OCR classifier is
returned in OCRHandleOCRHandleOCRHandleOCRHandleOCRHandleocrhandle。
For a description on how an SVM works, see create_class_svmcreate_class_svmCreateClassSvmCreateClassSvmCreateClassSvmcreate_class_svm。create_ocr_class_svmcreate_ocr_class_svmCreateOcrClassSvmCreateOcrClassSvmCreateOcrClassSvmcreate_ocr_class_svm creates an SVM for classification with
the classification mode given by ModeModeModeModemodemode. The length of the
feature vector of the SVM (NumFeaturesNumFeaturesNumFeaturesNumFeaturesnumFeaturesnum_features in
create_class_svmcreate_class_svmCreateClassSvmCreateClassSvmCreateClassSvmcreate_class_svm) is determined from the features that are
used for the OCR, which are passed in FeaturesFeaturesFeaturesFeaturesfeaturesfeatures. The
features are described below. The kernel is parametrized with
KernelTypeKernelTypeKernelTypeKernelTypekernelTypekernel_type, KernelParamKernelParamKernelParamKernelParamkernelParamkernel_param and NuNuNuNununu like in
create_class_svmcreate_class_svmCreateClassSvmCreateClassSvmCreateClassSvmcreate_class_svm。The number of classes of the SVM
(NumClassesNumClassesNumClassesNumClassesnumClassesnum_classes in create_class_svmcreate_class_svmCreateClassSvmCreateClassSvmCreateClassSvmcreate_class_svm) is determined from
the names of the characters to be used in the OCR, which are passed
in CharactersCharactersCharactersCharacterscharacterscharacters. As described with create_class_svmcreate_class_svmCreateClassSvmCreateClassSvmCreateClassSvmcreate_class_svm,
the parameters PreprocessingPreprocessingPreprocessingPreprocessingpreprocessingpreprocessing and NumComponentsNumComponentsNumComponentsNumComponentsnumComponentsnum_components can
be used to specify a preprocessing of the data (i.e., the feature
vectors). For the sake of numerical stability, PreprocessingPreprocessingPreprocessingPreprocessingpreprocessingpreprocessing
can typically be set to 'normalization'"normalization""normalization""normalization""normalization""normalization". In order to speed
up classification time, 'principal_components'"principal_components""principal_components""principal_components""principal_components""principal_components" or
'canonical_variates'"canonical_variates""canonical_variates""canonical_variates""canonical_variates""canonical_variates" can be used, as the number of input
features can be significantly reduced without deterioration of the
recognition rate.
The features to be used for the classification are determined by
FeaturesFeaturesFeaturesFeaturesfeaturesfeatures. FeaturesFeaturesFeaturesFeaturesfeaturesfeatures can contain a tuple of
feature names. Each of these feature names results in one or more
features to be calculated for the classifier. Some of the feature
names compute gray value features (e.g., 'pixel_invar'"pixel_invar""pixel_invar""pixel_invar""pixel_invar""pixel_invar").
Because a classifier requires a constant number of features (input
variables), a character to be classified is transformed to a
standard size, which is determined by WidthCharacterWidthCharacterWidthCharacterWidthCharacterwidthCharacterwidth_character and
HeightCharacterHeightCharacterHeightCharacterHeightCharacterheightCharacterheight_character. The interpolation to be used for the
transformation is determined by InterpolationInterpolationInterpolationInterpolationinterpolationinterpolation. It has the
same meaning as in affine_trans_imageaffine_trans_imageAffineTransImageAffineTransImageAffineTransImageaffine_trans_image。The interpolation
should be chosen such that no aliasing effects occur in the
transformation. For most applications, InterpolationInterpolationInterpolationInterpolationinterpolationinterpolation =
'constant'"constant""constant""constant""constant""constant" should be used. It should be noted that the
size of the transformed character is not chosen too large, because
the generalization properties of the classifier may become bad for
large sizes. In particular, for large sizes small segmentation errors
will have a large influence on the computed features if gray value features
are used. This happens because segmentation errors will change the smallest
enclosing rectangle of the regions, thus the character is zoomed differently
than the characters in the training set. In most applications, sizes
between 6x8 and 10x14 should be used.
The parameter FeaturesFeaturesFeaturesFeaturesfeaturesfeatures can contain the following feature
names for the classification of the characters.
- 'default'"default""default""default""default""default"
-
'ratio'"ratio""ratio""ratio""ratio""ratio" and 'pixel_invar'"pixel_invar""pixel_invar""pixel_invar""pixel_invar""pixel_invar" are selected.
- 'pixel'"pixel""pixel""pixel""pixel""pixel"
-
Gray values of the character (WidthCharacterWidthCharacterWidthCharacterWidthCharacterwidthCharacterwidth_character x
HeightCharacterHeightCharacterHeightCharacterHeightCharacterheightCharacterheight_character features).
- 'pixel_invar'"pixel_invar""pixel_invar""pixel_invar""pixel_invar""pixel_invar"
-
Gray values of the character with maximum scaling of the gray
values (WidthCharacterWidthCharacterWidthCharacterWidthCharacterwidthCharacterwidth_character x HeightCharacterHeightCharacterHeightCharacterHeightCharacterheightCharacterheight_character
features).
- 'pixel_binary'"pixel_binary""pixel_binary""pixel_binary""pixel_binary""pixel_binary"
-
Region of the character as a binary image zoomed to a size of
WidthCharacterWidthCharacterWidthCharacterWidthCharacterwidthCharacterwidth_character x HeightCharacterHeightCharacterHeightCharacterHeightCharacterheightCharacterheight_character
(WidthCharacterWidthCharacterWidthCharacterWidthCharacterwidthCharacterwidth_character x HeightCharacterHeightCharacterHeightCharacterHeightCharacterheightCharacterheight_character
features).
- 'gradient_8dir'"gradient_8dir""gradient_8dir""gradient_8dir""gradient_8dir""gradient_8dir"
-
Gradients are computed on the character image. The gradient
directions are discretized into 8 directions. The amplitude image
is decomposed into 8 channels according to these discretized
directions. 25 samples on a 5x5 grid are extracted from
each channel. These samples are used as features (200 features).
- 'projection_horizontal'"projection_horizontal""projection_horizontal""projection_horizontal""projection_horizontal""projection_horizontal"
-
Horizontal projection of the gray values (see
gray_projectionsgray_projectionsGrayProjectionsGrayProjectionsGrayProjectionsgray_projections, HeightCharacterHeightCharacterHeightCharacterHeightCharacterheightCharacterheight_character features).
- 'projection_horizontal_invar'"projection_horizontal_invar""projection_horizontal_invar""projection_horizontal_invar""projection_horizontal_invar""projection_horizontal_invar"
-
Maximally scaled horizontal projection of the gray values
(HeightCharacterHeightCharacterHeightCharacterHeightCharacterheightCharacterheight_character features).
- 'projection_vertical'"projection_vertical""projection_vertical""projection_vertical""projection_vertical""projection_vertical"
-
Vertical projection of the gray values (see
gray_projectionsgray_projectionsGrayProjectionsGrayProjectionsGrayProjectionsgray_projections, WidthCharacterWidthCharacterWidthCharacterWidthCharacterwidthCharacterwidth_character features).
- 'projection_vertical_invar'"projection_vertical_invar""projection_vertical_invar""projection_vertical_invar""projection_vertical_invar""projection_vertical_invar"
-
Maximally scaled vertical projection of the gray values
(WidthCharacterWidthCharacterWidthCharacterWidthCharacterwidthCharacterwidth_character features).
- 'ratio'"ratio""ratio""ratio""ratio""ratio"
-
Aspect ratio of the character (see
height_width_ratioheight_width_ratioHeightWidthRatioHeightWidthRatioHeightWidthRatioheight_width_ratio, 1 feature).
- 'anisometry'"anisometry""anisometry""anisometry""anisometry""anisometry"
-
Anisometry of the character (see eccentricityeccentricityEccentricityEccentricityEccentricityeccentricity, 1 feature).
- 'width'"width""width""width""width""width"
-
Width of the character before scaling the character to the
standard size (not scale-invariant, see
height_width_ratioheight_width_ratioHeightWidthRatioHeightWidthRatioHeightWidthRatioheight_width_ratio, 1 feature).
- 'height'"height""height""height""height""height"
-
Height of the character before scaling the character to the
standard size (not scale-invariant, see
height_width_ratioheight_width_ratioHeightWidthRatioHeightWidthRatioHeightWidthRatioheight_width_ratio, 1 feature).
- 'zoom_factor'"zoom_factor""zoom_factor""zoom_factor""zoom_factor""zoom_factor"
-
Difference in size between the character and the values of
WidthCharacterWidthCharacterWidthCharacterWidthCharacterwidthCharacterwidth_character and HeightCharacterHeightCharacterHeightCharacterHeightCharacterheightCharacterheight_character (not
scale-invariant, 1 feature).
- 'foreground'"foreground""foreground""foreground""foreground""foreground"
-
Fraction of pixels in the foreground (1 feature).
- 'foreground_grid_9'"foreground_grid_9""foreground_grid_9""foreground_grid_9""foreground_grid_9""foreground_grid_9"
-
Fraction of pixels in the foreground in a 3x3 grid within
the smallest enclosing rectangle of the character (9 features).
- 'foreground_grid_16'"foreground_grid_16""foreground_grid_16""foreground_grid_16""foreground_grid_16""foreground_grid_16"
-
Fraction of pixels in the foreground in a 4x4 grid within
the smallest enclosing rectangle of the character (16 features).
- 'compactness'"compactness""compactness""compactness""compactness""compactness"
-
Compactness of the character (see compactnesscompactnessCompactnessCompactnessCompactnesscompactness, 1 feature).
- 'convexity'"convexity""convexity""convexity""convexity""convexity"
-
Convexity of the character (see convexityconvexityConvexityConvexityConvexityconvexity, 1 feature).
- 'moments_region_2nd_invar'"moments_region_2nd_invar""moments_region_2nd_invar""moments_region_2nd_invar""moments_region_2nd_invar""moments_region_2nd_invar"
-
Normalized 2nd moments of the character (see
moments_region_2nd_invarmoments_region_2nd_invarMomentsRegion2ndInvarMomentsRegion2ndInvarMomentsRegion2ndInvarmoments_region_2nd_invar, 3 features).
- 'moments_region_2nd_rel_invar'"moments_region_2nd_rel_invar""moments_region_2nd_rel_invar""moments_region_2nd_rel_invar""moments_region_2nd_rel_invar""moments_region_2nd_rel_invar"
-
Normalized 2nd relative moments of the character (see
moments_region_2nd_rel_invarmoments_region_2nd_rel_invarMomentsRegion2ndRelInvarMomentsRegion2ndRelInvarMomentsRegion2ndRelInvarmoments_region_2nd_rel_invar, 2 features).
- 'moments_region_3rd_invar'"moments_region_3rd_invar""moments_region_3rd_invar""moments_region_3rd_invar""moments_region_3rd_invar""moments_region_3rd_invar"
-
Normalized 3rd moments of the character (see
moments_region_3rd_invarmoments_region_3rd_invarMomentsRegion3rdInvarMomentsRegion3rdInvarMomentsRegion3rdInvarmoments_region_3rd_invar, 4 features).
- 'moments_central'"moments_central""moments_central""moments_central""moments_central""moments_central"
-
Normalized central moments of the character (see
moments_region_centralmoments_region_centralMomentsRegionCentralMomentsRegionCentralMomentsRegionCentralmoments_region_central, 4 features).
- 'moments_gray_plane'"moments_gray_plane""moments_gray_plane""moments_gray_plane""moments_gray_plane""moments_gray_plane"
-
Normalized gray value moments and the angle of the gray value
plane (see moments_gray_planemoments_gray_planeMomentsGrayPlaneMomentsGrayPlaneMomentsGrayPlanemoments_gray_plane, 4 features).
- 'phi'"phi""phi""phi""phi""phi"
-
Orientation (angle) of the character (see elliptic_axiselliptic_axisEllipticAxisEllipticAxisEllipticAxiselliptic_axis, 1
feature).
- 'num_connect'"num_connect""num_connect""num_connect""num_connect""num_connect"
-
Number of connected components (see connect_and_holesconnect_and_holesConnectAndHolesConnectAndHolesConnectAndHolesconnect_and_holes, 1
feature).
- 'num_holes'"num_holes""num_holes""num_holes""num_holes""num_holes"
-
Number of holes (see connect_and_holesconnect_and_holesConnectAndHolesConnectAndHolesConnectAndHolesconnect_and_holes, 1 feature).
- 'cooc'"cooc""cooc""cooc""cooc""cooc"
-
Values of the binary cooccurrence matrix (see
gen_cooc_matrixgen_cooc_matrixGenCoocMatrixGenCoocMatrixGenCoocMatrixgen_cooc_matrix, 12 features).
- 'num_runs'"num_runs""num_runs""num_runs""num_runs""num_runs"
-
Number of runs in the region normalized by the height (1 feature).
- 'chord_histo'"chord_histo""chord_histo""chord_histo""chord_histo""chord_histo"
-
Frequency of the runs per row (not scale-invariant, HeightCharacterHeightCharacterHeightCharacterHeightCharacterheightCharacterheight_character features).
After the classifier has been created, it is trained using
trainf_ocr_class_svmtrainf_ocr_class_svmTrainfOcrClassSvmTrainfOcrClassSvmTrainfOcrClassSvmtrainf_ocr_class_svm。After this, the classifier can be
saved using write_ocr_class_svmwrite_ocr_class_svmWriteOcrClassSvmWriteOcrClassSvmWriteOcrClassSvmwrite_ocr_class_svm。Alternatively, the
classifier can be used immediately after training to classify
characters using do_ocr_single_class_svmdo_ocr_single_class_svmDoOcrSingleClassSvmDoOcrSingleClassSvmDoOcrSingleClassSvmdo_ocr_single_class_svm or
do_ocr_multi_class_svmdo_ocr_multi_class_svmDoOcrMultiClassSvmDoOcrMultiClassSvmDoOcrMultiClassSvmdo_ocr_multi_class_svm。
A comparison of SVM and the multi-layer perceptron (MLP) (see
create_ocr_class_mlpcreate_ocr_class_mlpCreateOcrClassMlpCreateOcrClassMlpCreateOcrClassMlpcreate_ocr_class_mlp) typically shows that SVMs are
generally faster at training, especially for huge training sets, and
achieve slightly better recognition rates than MLPs. The MLP is
faster at classification and should therefore be preferred in time
critical applications. Please note that this guideline assumes
optimal tuning of the parameters.
执行信息
- 多线程类型:可重入(与非独占算子并行运行)。
- 多线程作用域:全局(可从任何线程调用)。
- 未采用并行化处理。
此算子返回一个句柄。请注意,即使该句柄被用作特定算子的输入参数,这些算子仍可能改变此句柄类型的实例状态。
参数
WidthCharacterWidthCharacterWidthCharacterWidthCharacterwidthCharacterwidth_character (输入控制) integer → HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Width of the rectangle to which the gray values
of the segmented character are zoomed.
默认值:
8
建议值:
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 16, 20
值范围:
4
≤
WidthCharacter
WidthCharacter
WidthCharacter
WidthCharacter
widthCharacter
width_character
≤
20
HeightCharacterHeightCharacterHeightCharacterHeightCharacterheightCharacterheight_character (输入控制) integer → HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Height of the rectangle to which the gray values
of the segmented character are zoomed.
默认值:
10
建议值:
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 16, 20
值范围:
4
≤
HeightCharacter
HeightCharacter
HeightCharacter
HeightCharacter
heightCharacter
height_character
≤
20
InterpolationInterpolationInterpolationInterpolationinterpolationinterpolation (输入控制) string → HTuplestrHTupleHtuple (string) (string) (HString) (char*)
Interpolation mode for the zooming of the characters.
默认值:
'constant'
"constant"
"constant"
"constant"
"constant"
"constant"
值列表:
'bicubic'"bicubic""bicubic""bicubic""bicubic""bicubic", 'bilinear'"bilinear""bilinear""bilinear""bilinear""bilinear", 'constant'"constant""constant""constant""constant""constant", 'nearest_neighbor'"nearest_neighbor""nearest_neighbor""nearest_neighbor""nearest_neighbor""nearest_neighbor", 'weighted'"weighted""weighted""weighted""weighted""weighted"
FeaturesFeaturesFeaturesFeaturesfeaturesfeatures (输入控制) string(-array) → HTupleMaybeSequence[str]HTupleHtuple (string) (string) (HString) (char*)
Features to be used for classification.
默认值:
'default'
"default"
"default"
"default"
"default"
"default"
值列表:
'anisometry'"anisometry""anisometry""anisometry""anisometry""anisometry", 'chord_histo'"chord_histo""chord_histo""chord_histo""chord_histo""chord_histo", 'compactness'"compactness""compactness""compactness""compactness""compactness", 'convexity'"convexity""convexity""convexity""convexity""convexity", 'cooc'"cooc""cooc""cooc""cooc""cooc", 'default'"default""default""default""default""default", 'foreground'"foreground""foreground""foreground""foreground""foreground", 'foreground_grid_16'"foreground_grid_16""foreground_grid_16""foreground_grid_16""foreground_grid_16""foreground_grid_16", 'foreground_grid_9'"foreground_grid_9""foreground_grid_9""foreground_grid_9""foreground_grid_9""foreground_grid_9", 'gradient_8dir'"gradient_8dir""gradient_8dir""gradient_8dir""gradient_8dir""gradient_8dir", 'height'"height""height""height""height""height", 'moments_central'"moments_central""moments_central""moments_central""moments_central""moments_central", 'moments_gray_plane'"moments_gray_plane""moments_gray_plane""moments_gray_plane""moments_gray_plane""moments_gray_plane", 'moments_region_2nd_invar'"moments_region_2nd_invar""moments_region_2nd_invar""moments_region_2nd_invar""moments_region_2nd_invar""moments_region_2nd_invar", 'moments_region_2nd_rel_invar'"moments_region_2nd_rel_invar""moments_region_2nd_rel_invar""moments_region_2nd_rel_invar""moments_region_2nd_rel_invar""moments_region_2nd_rel_invar", 'moments_region_3rd_invar'"moments_region_3rd_invar""moments_region_3rd_invar""moments_region_3rd_invar""moments_region_3rd_invar""moments_region_3rd_invar", 'num_connect'"num_connect""num_connect""num_connect""num_connect""num_connect", 'num_holes'"num_holes""num_holes""num_holes""num_holes""num_holes", 'num_runs'"num_runs""num_runs""num_runs""num_runs""num_runs", 'phi'"phi""phi""phi""phi""phi", 'pixel'"pixel""pixel""pixel""pixel""pixel", 'pixel_binary'"pixel_binary""pixel_binary""pixel_binary""pixel_binary""pixel_binary", 'pixel_invar'"pixel_invar""pixel_invar""pixel_invar""pixel_invar""pixel_invar", 'projection_horizontal'"projection_horizontal""projection_horizontal""projection_horizontal""projection_horizontal""projection_horizontal", 'projection_horizontal_invar'"projection_horizontal_invar""projection_horizontal_invar""projection_horizontal_invar""projection_horizontal_invar""projection_horizontal_invar", 'projection_vertical'"projection_vertical""projection_vertical""projection_vertical""projection_vertical""projection_vertical", 'projection_vertical_invar'"projection_vertical_invar""projection_vertical_invar""projection_vertical_invar""projection_vertical_invar""projection_vertical_invar", 'ratio'"ratio""ratio""ratio""ratio""ratio", 'width'"width""width""width""width""width", 'zoom_factor'"zoom_factor""zoom_factor""zoom_factor""zoom_factor""zoom_factor"
CharactersCharactersCharactersCharacterscharacterscharacters (输入控制) string-array → HTupleSequence[str]HTupleHtuple (string) (string) (HString) (char*)
All characters of the character set to be read.
默认值:
['0','1','2','3','4','5','6','7','8','9']
["0","1","2","3","4","5","6","7","8","9"]
["0","1","2","3","4","5","6","7","8","9"]
["0","1","2","3","4","5","6","7","8","9"]
["0","1","2","3","4","5","6","7","8","9"]
["0","1","2","3","4","5","6","7","8","9"]
KernelTypeKernelTypeKernelTypeKernelTypekernelTypekernel_type (输入控制) string → HTuplestrHTupleHtuple (string) (string) (HString) (char*)
The kernel type.
默认值:
'rbf'
"rbf"
"rbf"
"rbf"
"rbf"
"rbf"
值列表:
'linear'"linear""linear""linear""linear""linear", 'polynomial_homogeneous'"polynomial_homogeneous""polynomial_homogeneous""polynomial_homogeneous""polynomial_homogeneous""polynomial_homogeneous", 'polynomial_inhomogeneous'"polynomial_inhomogeneous""polynomial_inhomogeneous""polynomial_inhomogeneous""polynomial_inhomogeneous""polynomial_inhomogeneous", 'rbf'"rbf""rbf""rbf""rbf""rbf"
KernelParamKernelParamKernelParamKernelParamkernelParamkernel_param (输入控制) real → HTuplefloatHTupleHtuple (real) (double) (double) (double)
Additional parameter for the kernel function.
默认值:
0.02
建议值:
0.01, 0.02, 0.05, 0.1, 0.5
NuNuNuNununu (输入控制) real → HTuplefloatHTupleHtuple (real) (double) (double) (double)
Regularization constant of the SVM.
默认值:
0.05
建议值:
0.0001, 0.001, 0.01, 0.05, 0.1, 0.2, 0.3
限制:
Nu > 0.0 && Nu < 1.0
ModeModeModeModemodemode (输入控制) string → HTuplestrHTupleHtuple (string) (string) (HString) (char*)
The mode of the SVM.
默认值:
'one-versus-one'
"one-versus-one"
"one-versus-one"
"one-versus-one"
"one-versus-one"
"one-versus-one"
值列表:
'one-versus-all'"one-versus-all""one-versus-all""one-versus-all""one-versus-all""one-versus-all", 'one-versus-one'"one-versus-one""one-versus-one""one-versus-one""one-versus-one""one-versus-one"
PreprocessingPreprocessingPreprocessingPreprocessingpreprocessingpreprocessing (输入控制) string → HTuplestrHTupleHtuple (string) (string) (HString) (char*)
Type of preprocessing used to transform the
feature vectors.
默认值:
'normalization'
"normalization"
"normalization"
"normalization"
"normalization"
"normalization"
值列表:
'canonical_variates'"canonical_variates""canonical_variates""canonical_variates""canonical_variates""canonical_variates", 'none'"none""none""none""none""none", 'normalization'"normalization""normalization""normalization""normalization""normalization", 'principal_components'"principal_components""principal_components""principal_components""principal_components""principal_components"
NumComponentsNumComponentsNumComponentsNumComponentsnumComponentsnum_components (输入控制) integer → HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Preprocessing parameter: Number of transformed
features (ignored for PreprocessingPreprocessingPreprocessingPreprocessingpreprocessingpreprocessing =
'none'"none""none""none""none""none" and PreprocessingPreprocessingPreprocessingPreprocessingpreprocessingpreprocessing =
'normalization'"normalization""normalization""normalization""normalization""normalization").
默认值:
10
建议值:
1, 2, 3, 4, 5, 8, 10, 15, 20, 30, 40, 50, 60, 70, 80, 90, 100
限制:
NumComponents >= 1
OCRHandleOCRHandleOCRHandleOCRHandleOCRHandleocrhandle (输出控制) ocr_svm → HOCRSvm, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)
Handle of the OCR classifier.
示例(HDevelop)
read_image (Image, 'letters')
* Segment the image.
binary_threshold(Image,&Region, 'otsu', 'dark', &UsedThreshold);
dilation_circle (Region, RegionDilation, 3.5)
connection (RegionDilation, ConnectedRegions)
intersection (ConnectedRegions, Region, RegionIntersection)
sort_region (RegionIntersection, Characters, 'character', 'true', 'row')
* Generate the training file.
count_obj (Characters, Number)
Classes := []
for J := 0 to 25 by 1
Classes := [Classes,gen_tuple_const(20,chr(ord('a')+J))]
endfor
Classes := [Classes,gen_tuple_const(20,'.')]
write_ocr_trainf (Characters, Image, Classes, 'letters.trf')
* Generate and train the classifier.
read_ocr_trainf_names ('letters.trf', CharacterNames, CharacterCount)
create_ocr_class_svm (8, 10, 'constant', 'default', CharacterNames, \
'rbf', 0.01, 0.01, 'one-versus-all', \
'principal_components', 10, OCRHandle)
trainf_ocr_class_svm (OCRHandle, 'letters.trf', 0.001, 'default')
* Re-classify the characters in the image.
do_ocr_multi_class_svm (Characters, Image, OCRHandle, Class)
结果
如果参数有效,算子 create_ocr_class_svmcreate_ocr_class_svmCreateOcrClassSvmCreateOcrClassSvmCreateOcrClassSvmcreate_ocr_class_svm 返回值 2 ( H_MSG_TRUE )。如有必要,则抛出异常。
可能的后继
trainf_ocr_class_svmtrainf_ocr_class_svmTrainfOcrClassSvmTrainfOcrClassSvmTrainfOcrClassSvmtrainf_ocr_class_svm
替代
create_ocr_class_mlpcreate_ocr_class_mlpCreateOcrClassMlpCreateOcrClassMlpCreateOcrClassMlpcreate_ocr_class_mlp
另见
do_ocr_single_class_svmdo_ocr_single_class_svmDoOcrSingleClassSvmDoOcrSingleClassSvmDoOcrSingleClassSvmdo_ocr_single_class_svm,
do_ocr_multi_class_svmdo_ocr_multi_class_svmDoOcrMultiClassSvmDoOcrMultiClassSvmDoOcrMultiClassSvmdo_ocr_multi_class_svm,
clear_ocr_class_svmclear_ocr_class_svmClearOcrClassSvmClearOcrClassSvmClearOcrClassSvmclear_ocr_class_svm,
create_class_svmcreate_class_svmCreateClassSvmCreateClassSvmCreateClassSvmcreate_class_svm,
train_class_svmtrain_class_svmTrainClassSvmTrainClassSvmTrainClassSvmtrain_class_svm,
classify_class_svmclassify_class_svmClassifyClassSvmClassifyClassSvmClassifyClassSvmclassify_class_svm
模块
光学字符识别/光学字符验证