《zw版·Halcon-delphi系列原创教程》 Halcon分类函数011,ocr,字符识别

《zw版·Halcon-delphi系列原创教程》 Halcon分类函数011,ocr,字符识别

为方便阅读,在不影响说明的前提下,笔者对函数进行了简化:

  • :: 用符号“**”,替换:“procedure”
  • :: 用大写字母“X”,替换:“IHUntypedObjectX”
  • :: 省略了字符:“const”、“OleVariant”

【示例】 说明

函数:

procedure AddNoiseWhiteContourXld( const Contours: IHUntypedObjectX; out NoisyContours: IHUntypedObjectX; NumRegrPoints: OleVariant; Amp: OleVariant);

简化后为:

** AddNoiseWhiteContourXld( Contours: X; out NoisyContours: X; NumRegrPoints, Amp);

  1 ** AppendOcrTrainf( Character: X; Image: X; Class_, TrainingFile);
  2 说明,  append_ocr_trainf,将字符添加到一个测试文件中。
  3
  4 ** ClearAllOcrClassKnn;
  5 说明,  清除所有创建的OCR-knn分级器
  6
  7 ** ClearAllOcrClassMlp;
  8 说明,  clear_all_ocr_class_mlp,清除所有的create_ocr_class_mlp创建的OCR分级器,释放分级器占据的存储空间。
  9
 10 ** ClearAllOcrClassSvm;
 11 说明,  clear_all_ocr_class_svm,清除所有的基于OCR分级器的SVM,释放相应的存储空间。
 12
 13 ** ClearOcrClassKnn( OCRHandle);
 14
 15 ** ClearOcrClassMlp( OCRHandle);
 16 说明,  clear_ocr_class_mlp,清除所有的由OCRHandle给定的且由create_ocr_class_mlp创建的OCR分级器,释放所有的分级器占据的存储空间。
 17
 18 ** ClearOcrClassSvm( OCRHandle);
 19 说明,  clear_ocr_class_svm,清除基于OCR分级器的一个SVM,释放相应的存储空间。
 20
 21 ** CloseAllOcrs;
 22 说明,  close_all_ocrs,删除所有光字符,释放存储空间,但会丢失所有的测试数据。
 23
 24 ** CloseOcr( OCRHandle);
 25 说明,  close_ocr,重新分配拥有OcrHandle数目的分级器的存储,但所有相应的数据会丢失,不过这些数据可由write_ocr事先保存。
 26
 27 ** ConcatOcrTrainf( SingleFiles, ComposedFile);
 28 说明,  concat_ocr_trainf,合并测试文件。
 29
 30 ** CreateOcrClassBox( WidthPattern, HeightPattern, Interpolation, Features, Character, out OCRHandle);
 31 说明,  create_ocr_class_box,创建新的OCR分级器。
 32
 33 ** CreateOcrClassKnn( WidthCharacter, HeightCharacter, Interpolation, Features, Characters, GenParamNames, GenParamValues, out OCRHandle);
 34 说明,  创建knn分级器。
 35
 36 ** CreateOcrClassMlp( WidthCharacter, HeightCharacter, Interpolation, Features, Characters, NumHidden, Preprocessing, NumComponents, RandSeed, out OCRHandle);
 37 说明,  create_ocr_class_mlp,利用MLP(多层感知器)创建一个新的OCR分级器。
 38
 39 ** CreateOcrClassSvm( WidthCharacter, HeightCharacter, Interpolation, Features, Characters, KernelType, KernelParam, Nu, Mode, Preprocessing, NumComponents, out OCRHandle);
 40 说明,  create_ocr_class_svm,利用支持向量机创建一个OCR分级器。
 41
 42 ** DeserializeOcr( SerializedItemHandle, out OCRHandle);
 43 说明,  ocr数据转换
 44
 45 ** DeserializeOcrClassKnn( SerializedItemHandle, out OCRHandle);
 46 说明,  ocr-knn分类器数据转换
 47
 48 ** DeserializeOcrClassMlp( SerializedItemHandle, out OCRHandle);
 49 说明,  ocr-mlp分类器数据转换
 50
 51 ** DeserializeOcrClassSvm( SerializedItemHandle, out OCRHandle);
 52 说明,  ocr-svm分类器数据转换
 53
 54 ** DoOcrMulti( Character: X; Image: X; OCRHandle, out Class_, out Confidence);
 55 说明,  do_ocr_multi,给每一个Character(字符)分配一个类。
 56
 57 ** DoOcrMultiClassKnn( Character: X; Image: X; OCRHandle, out Class_, out Confidence);
 58 说明,  do_ocr_multi,给多个Character(字符)分配一个KNN类。
 59
 60 ** DoOcrMultiClassMlp( Character: X; Image: X; OCRHandle, out Class_, out Confidence);
 61 说明,  do_ocr_multi_class_mlp,为根据给定区域字符和OCR分级器OCRHandle的灰度图像值而给定的每个字符计算出最好的类,将类返回到Class中,且将类的置信度返回到Confidence中。
 62
 63 ** DoOcrMultiClassSvm( Character: X; Image: X; OCRHandle, out Class_);
 64 说明,  do_ocr_multi_class_svm,根据基于OCR分级器的SVM将大量字符分类。
 65
 66 ** DoOcrSingle( Character: X; Image: X; OCRHandle, out Classes, out Confidences);
 67 说明,  do_ocr_single,给一些Character(字符)分配一些类。
 68
 69 ** DoOcrSingleClassKnn( Character: X; Image: X; OCRHandle, NumClasses, NumNeighbors, out Class_, out Confidence);
 70 说明,  do_ocr_multi,给每一个Character(字符)分配一个KNN类。
 71
 72 ** DoOcrSingleClassMlp( Character: X; Image: X; OCRHandle, Num, out Class_, out Confidence);
 73 说明,  do_ocr_single_class_mlp,为根据给定区域字符和OCR分级器OCRHandle的灰度图像值而给定的字符计算出最好的Num类,将类返回到Class中,且将类的置信度返回到Confidence中。
 74
 75 ** DoOcrSingleClassSvm( Character: X; Image: X; OCRHandle, Num, out Class_);
 76 说明,  do_ocr_single_class_svm,根据基于OCR分级器的SVM将单个字符分类。
 77
 78 ** DoOcrWordKnn( Character: X; Image: X; OCRHandle, Expression, NumAlternatives, NumCorrections, out Class_, out Confidence, out Word, out Score);
 79 说明,  将字符组作为一个实体。
 80
 81 ** DoOcrWordMlp( Character: X; Image: X; OCRHandle, Expression, NumAlternatives, NumCorrections, out Class_, out Confidence, out Word, out Score);
 82 说明,  do_ocr_word_mlp,功能与do?_ocr_multi_class_mlp相同,只是do_ocr_word_mlp将字符组作为一个实体。
 83
 84 ** DoOcrWordSvm( Character: X; Image: X; OCRHandle, Expression, NumAlternatives, NumCorrections, out Class_, out Word, out Score);
 85 说明,  do_ocr_word_svm,利用OCR分级器将一系列相关字符分类。
 86
 87 ** GetFeaturesOcrClassKnn( Character: X; OCRHandle, Transform, out Features);
 88 说明,  根据OCR分级器OCRHandl,e确定的字符计算其特征参数,并将它们返回到Features。
 89
 90 ** GetFeaturesOcrClassMlp( Character: X; OCRHandle, Transform, out Features);
 91 说明,  get_features_ocr_class_mlp,为根据OCR分级器OCRHandle确定的字符计算其特征参数,并将它们返回到Features。
 92
 93 ** GetFeaturesOcrClassSvm( Character: X; OCRHandle, Transform, out Features);
 94 说明,  get_features_ocr_class_svm,计算一个字符的特征。
 95
 96 ** GetParamsOcrClassKnn( OCRHandle, out WidthCharacter, out HeightCharacter, out Interpolation, out Features, out Characters, out Preprocessing, out NumTrees);
 97 说明,  返回knn-ocr分类器的参数。
 98
 99 ** GetParamsOcrClassMlp( OCRHandle, out WidthCharacter, out HeightCharacter, out Interpolation, out Features, out Characters, out NumHidden, out Preprocessing, out NumComponents);
100 说明,  get_params_ocr_class_mlp,返回一个OCR分级器的参数只有当分级器由do_ocr_multi_class_mlp创建时。
101
102 ** GetParamsOcrClassSvm( OCRHandle, out WidthCharacter, out HeightCharacter, out Interpolation, out Features, out Characters, out KernelType, out KernelParam, out Nu, out Mode, out Preprocessing, out NumComponents);
103 说明,  get_params_ocr_class_svm,返回一个OCR分级器的参数。
104
105 ** GetPrepInfoOcrClassMlp( OCRHandle, TrainingFile, Preprocessing, out InformationCont, out CumInformationCont);
106 说明,  get_prep_info_ocr_class_mlp,计算OCR分级器预设定矢量特性的信息。
107
108 ** GetPrepInfoOcrClassSvm( OCRHandle, TrainingFile, Preprocessing, out InformationCont, out CumInformationCont);
109 说明,  get_prep_info_ocr_class_svm,计算基于OCR分级器的SVM的预定义特征矢量的信息内容。
110
111 ** GetSupportVectorNumOcrClassSvm( OCRHandle, out NumSupportVectors, out NumSVPerSVM);
112 说明,  get_support_vector_num_ocr_class_svm,返回OCR分级器支持的矢量的数目。
113
114 ** GetSupportVectorOcrClassSvm( OCRHandle, IndexSupportVector, out Index);
115 说明,  get_support_vector_ocr_class_svm,返回基于支持向量机的已测试OCR分级器中支持向量坐标。
116
117 ** InfoOcrClassBox( OCRHandle, out WidthPattern, out HeightPattern, out Interpolation, out WidthMaxChar, out HeightMaxChar, out Features, out Characters);
118 说明,  info_ocr_class_box,反馈ocr的有关信息。
119
120 ** OcrChangeChar( OCRHandle, Character);
121 说明,  ocr_change_char,为字符建立新的查阅表。
122
123 ** OcrGetFeatures( Character: X; OCRHandle, out FeatureVector);
124 说明,  ocr_get_features,计算给定Character(字符)的特征参数。
125
126 ** ProtectOcrTrainf( TrainingFile, Password, TrainingFileProtected);
127
128 ** ReadOcr( FileName, out OCRHandle);
129 说明,  read_ocr,从文件的FileName(文件名)读取OCR分级器。
130
131 ** ReadOcrClassKnn( FileName, out OCRHandle);
132 说明,  读取ocr-knn数据
133
134 ** ReadOcrClassMlp( FileName, out OCRHandle);
135 说明,  read_ocr_class_mlp,从一个文件中读取OCR分级器。
136
137 ** ReadOcrClassSvm( FileName, out OCRHandle);
138 说明,  read_ocr_class_svm,从文件中读取基于OCR分级器的SVM。
139
140 ** ReadOcrTrainf( out Characters: X; TrainingFile, out CharacterNames);
141 说明,  read_ocr_trainf,从文件中读取字符,将其转换到图像中。
142
143 ** ReadOcrTrainfNames( TrainingFile, out CharacterNames, out CharacterCount);
144 说明,  read_ocr_trainf_names,查询哪些字符存储在测试文件中。
145
146 ** ReadOcrTrainfNamesProtected( TrainingFile, Password, out CharacterNames, out CharacterCount);
147 说明,  读取ocr数据
148
149 ** ReadOcrTrainfSelect( out Characters: X; TrainingFile, SearchNames, out FoundNames);
150 说明,  read_ocr_trainf_select,从文件中读取测试特定字符,将其转换到图像中。
151
152 ** ReduceOcrClassSvm( OCRHandle, Method, MinRemainingSV, MaxError, out OCRHandleReduced);
153 说明,  reduce_ocr_class_svm,根据一个减小的SVM来接近一个基于OCR分级器的SVM。
154
155 ** SelectFeatureSetTrainfKnn( TrainingFile, FeatureList, SelectionMethod, Width, Height, GenParamNames, GenParamValues, out OCRHandle, out FeatureSet, out Score);
156 说明,  根据knn训练参数特征选择对象
157
158 ** SelectFeatureSetTrainfMlp( TrainingFile, FeatureList, SelectionMethod, Width, Height, GenParamNames, GenParamValues, out OCRHandle, out FeatureSet, out Score);
159 说明,  根据mlp训练参数特征选择对象
160
161 ** SelectFeatureSetTrainfMlpProtected( TrainingFile, Password, FeatureList, SelectionMethod, Width, Height, GenParamNames, GenParamValues, out OCRHandle, out FeatureSet, out Score);
162 说明,  根据mlp训练参数特征选择对象
163
164 ** SelectFeatureSetTrainfSvm( TrainingFile, FeatureList, SelectionMethod, Width, Height, GenParamNames, GenParamValues, out OCRHandle, out FeatureSet, out Score);
165 说明,  根据svm训练参数特征选择对象
166
167 ** SelectFeatureSetTrainfSvmProtected( TrainingFile, Password, FeatureList, SelectionMethod, Width, Height, GenParamNames, GenParamValues, out OCRHandle, out FeatureSet, out Score);
168 说明,  根据svm训练参数特征选择对象
169
170 ** SerializeOcr( OCRHandle, out SerializedItemHandle);
171 说明,  ocr数据序列化
172
173 ** SerializeOcrClassKnn( OCRHandle, out SerializedItemHandle);
174 说明,  knn分类器数据序列化
175
176 ** SerializeOcrClassMlp( OCRHandle, out SerializedItemHandle);
177 说明,  mlp分类器数据序列化
178
179 ** SerializeOcrClassSvm( OCRHandle, out SerializedItemHandle);
180 说明,  svm分类器数据序列化
181
182 ** TestdOcrClassBox( Character: X; Image: X; OCRHandle, Class_, out Confidence);
183 说明,  testd_ocr_class_box,测试给定类中字符的置信度。
184
185 ** TraindOcrClassBox( Character: X; Image: X; OCRHandle, Class_, out AvgConfidence);
186 说明,  traind_ocr_class_box,通过一幅图像的特定区域直接测试分级器。
187
188 ** TrainfOcrClassBox( OCRHandle, TrainingFile, out AvgConfidence);
189 说明,  trainf_ocr_class_box,根据指定测试文件测试分级器的OCRHandle。
190
191 ** TrainfOcrClassKnn( OCRHandle, TrainingFile, GenParamNames, GenParamValues);
192 说明,  ocr-knn分类器训练
193
194 ** TrainfOcrClassMlp( OCRHandle, TrainingFile, MaxIterations, WeightTolerance, ErrorTolerance, out Error, out ErrorLog);
195 说明,  trainf_ocr_class_mlp,测试OCR分级器的OCRHandle,根据存储在OCR文件中的测试特性。
196
197 ** TrainfOcrClassMlpProtected( OCRHandle, TrainingFile, Password, MaxIterations, WeightTolerance, ErrorTolerance, out Error, out ErrorLog);
198 说明,  ocr-mlp分类器训练
199
200 ** TrainfOcrClassSvm( OCRHandle, TrainingFile, Epsilon, TrainMode);
201 说明,  trainf_ocr_class_svm,测试一个OCR分级器。
202
203 ** TrainfOcrClassSvmProtected( OCRHandle, TrainingFile, Password, Epsilon, TrainMode);
204 说明,  ocr-svm分类器训练
205
206 ** WriteOcr( OCRHandle, FileName);
207 说明,  write_ocr,将OCR分级器的OCRHandle写入文件的FileName(文件名)。
208
209 ** WriteOcrClassKnn( OCRHandle, FileName);
210 说明,  保存ocr-knn分类器数据
211
212 ** WriteOcrClassMlp( OCRHandle, FileName);
213 说明,  write_ocr_class_mlp,将OCR分级器的OCRHandle写入由文件名确定的文件中。
214
215 ** WriteOcrClassSvm( OCRHandle, FileName);
216 说明,  write_ocr_class_svm,将一个OCR分级器写入文件。
217
218 ** WriteOcrTrainf( Character: X; Image: X; Class_, TrainingFile);
219 说明,  write_ocr_trainf,将已测试的字符存储到文件中。
220
221 ** WriteOcrTrainfImage( Character: X; Class_, TrainingFile);
222 说明,  write_ocr_trainf_image,将字符写入正在测试的文件中。
223
224 ** ZeroCrossing( Image: X; out RegionCrossing: X);
225 说明,  zero_crossing,从一幅图像中提取零相交。
226
227 ** ZeroCrossingsFunct1D( Function_, out ZeroCrossings);
228 说明,  zero_crossings_funct_1d,计算一个函数的零点。
229
230 ** ZeroCrossingSubPix( Image: X; out ZeroCrossings: X);
231 说明,  zero_crossing_sub_pix,根据子像素准确性从一幅图像中提取零相交。
时间: 2024-10-15 04:06:02

《zw版·Halcon-delphi系列原创教程》 Halcon分类函数011,ocr,字符识别的相关文章

【《zw版·Halcon与delphi系列原创教程》 zw_halcon人脸识别

[<zw版·Halcon与delphi系列原创教程> zw_halcon人脸识别 经常有用户问,halcon人脸识别方面的问题. 可能是cv在人脸识别.车牌识别方面的投入太多了. 其实,人脸识别.车牌识别,只是图像处理,机器视觉一个很小的领域,对于halcon而言,非常简单. 人脸识别.车牌识别,ocr.汉字识别原理.算法都差不多,自己建库就可以了. halcon与cv不同,面对的是工业(超市)流水线,建库基本是全自动的,扫描一下,和二维码差不多,就自动生成了相关的模型库. 非常简单,halc

《zw版&#183;ddelphi与halcon系列原创教程》Halcon的短板与delphi

[<zw版·delphi与Halcon系列原创教程>Halcon的短板与delphi 看过<delphi与Halcon系列>blog的网友都知道,笔者对Halcon一直是非常推崇的,简直是天下第一,无所不能.     的确,Halcon是目前蓝星上最强的图像库,也许某些国家军用卫星的图像库,精度会高一点,这个只能猜测.     Halcon毕竟只是图像库而已,作为开发平台,与专业的delphi.vs相比,还是有很大差距的.      有经验的用户,特别是从事二次开发的外包团队,采用

《zw版&#183;delphi与Halcon系列原创教程》THOperatorSetX版hello,zw

<zw版·delphi与Halcon系列原创教程>THOperatorSetX版hello,zw 下面在介绍v3版的hello,zw. Halcon两大核心控件,THImagex.THOperatorSetX控件. THImagex控件效率极高,可以视为内部数据交换模式,但与标准的Halcon函数有所差异,建议有经验的用户使用. THOperatorSetX控件,采用类似仿真的模式,向Halcon模块提供脚本指令,由Halcon系统处理后,生成结果数据,再回传给delphi.c等开发系统.指令

《zw版&#183;delphi与halcon系列原创教程》zw版_THImagex控件函数列表

<zw版·delphi与halcon系列原创教程>zw版_THImagex控件函数列表 Halcon虽然庞大,光HALCONXLib_TLB.pas文件,源码就要7w多行,但核心控件就是两个: THImagex,图像数据控件,v11版,包括488个函数和子程序 THOperatorSetX,操作主接口控件,v11版,包括1929个子程序 以上两大核心控件,已经删除个别delphi内部属性函数,不影响日常使用. 其他控件,基本上,都是为配合两个控件,提供数据类型支持.辅助功能.已经一些特殊应用(

《zw版&#183;Halcon-delphi系列原创教程》 zw版-Halcon常用函数Top100中文速查手册

<zw版·Halcon-delphi系列原创教程> zw版-Halcon常用函数Top100中文速查手册 Halcon函数库非常庞大,v11版有1900多个算子(函数). 这个Top版,对最常用的函数,做了中文说明,目前约250条,以后会逐步优化.增减. 目标是,类似常用英文单词500一样,做成<Halcon常用函数300条>.<halcon常用函数500条>等版本,方便大 家学习. 考虑到通用性,函数采用的是Halcon手册格式,没有转成delphi版,请大家注意.

《zw版&#183;Halcon-delphi系列原创教程》 Halcon分类函数017&#183;point点函数

<zw版·Halcon-delphi系列原创教程> Halcon分类函数017·point点函数 为方便阅读,在不影响说明的前提下,笔者对函数进行了简化: :: 用符号“**”,替换:“procedure” :: 用大写字母“X”,替换:“IHUntypedObjectX” :: 省略了字符:“const”.“OleVariant” [示例] 说明 函数: procedure AddNoiseWhiteContourXld( const Contours: IHUntypedObjectX;

《zw版&#183;Halcon-delphi系列原创教程》 Halcon分类函数007, match,图像匹配

<zw版·Halcon-delphi系列原创教程> Halcon分类函数007, match,图像匹配 为方便阅读,在不影响说明的前提下,笔者对函数进行了简化: :: 用符号“**”,替换:“procedure” :: 用大写字母“X”,替换:“IHUntypedObjectX” :: 省略了字符:“const”.“OleVariant” [示例] 说明 函数: procedure AddNoiseWhiteContourXld( const Contours: IHUntypedObject

《zw版&#183;Halcon-delphi系列原创教程》 Halcon分类函数006, image,影像处理(像素图)

<zw版·Halcon-delphi系列原创教程> Halcon分类函数006, image,影像处理(像素图) 为方便阅读,在不影响说明的前提下,笔者对函数进行了简化: :: 用符号“**”,替换:“procedure” :: 用大写字母“X”,替换:“IHUntypedObjectX” :: 省略了字符:“const”.“OleVariant” [示例] 说明 函数: procedure AddNoiseWhiteContourXld( const Contours: IHUntypedO

《zw版&#183;Halcon-delphi系列原创教程》 Halcon分类函数005&#183;graphics-obj,基本绘图单元,包括线段、矩形、椭圆、圆形

<zw版·Halcon-delphi系列原创教程> Halcon分类函数005·graphics-obj,基本绘图单元,包括线段.矩形.椭圆.圆形 graphics-obj,基本绘图单元,包括线段.矩形.椭圆.圆形 为方便阅读,在不影响说明的前提下,笔者对函数进行了简化: :: 用符号“**”,替换:“procedure” :: 用大写字母“X”,替换:“IHUntypedObjectX” :: 省略了字符:“const”.“OleVariant” [示例] 说明 函数: procedure