《zw版·Halcon-delphi系列原创教程》 Halcon分类函数002·AI人工智能

《zw版·Halcon-delphi系列原创教程》 Halcon分类函数002·AI人工智能

AI人工智能:包括knn、gmm、svm等

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

  • :: 用符号“**”,替换:“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 ** AddClassTrainDataGmm( GMMHandle, ClassTrainDataHandle); 
  2 说明,  add_class_train_data_gmm (  :  :  GMMHandle,ClassTrainDataHandle :  ) ,增加gmm训练数据
  3 
  4 ** AddClassTrainDataKnn( KNNHandle, ClassTrainDataHandle); 
  5 说明,  增加knn训练数据
  6 
  7 ** AddClassTrainDataSvm( SVMHandle, ClassTrainDataHandle); 
  8 说明,  增加svm训练数据
  9 
 10 ** AddSampleClassGmm( GMMHandle, Features, ClassID, Randomize); 
 11 说明,  add_sample_class_gmm,把一个训练样本添加到一个高斯混合模型的训练数据上。
 12 
 13 ** AddSampleClassKnn( KNNHandle, Features, ClassID);
 14 
 15 ** AddSampleClassSvm( SVMHandle, Features, Class_); 
 16 说明,  add_sample_class_svm,把一个训练样本添加到一个支持向量机的训练数据上。
 17 
 18 ** AddSamplesImageClassGmm( Image: X; ClassRegions: X; GMMHandle, Randomize); 
 19 说明,  add_samples_image_class_gmm,将从图像中获取的测试样本添加到高斯混合模型的测试数据库中。
 20 
 21 ** AddSamplesImageClassKnn( Image: X; ClassRegions: X; KNNHandle);
 22 
 23 ** AddSamplesImageClassSvm( Image: X; ClassRegions: X; SVMHandle); 
 24 说明,  add_samples_image_class_svm,将从图像中获取的测试样本添加到一个支持向量机的测试数据库中。
 25 
 26 ** ClassifyClassGmm( GMMHandle, Features, Num, out ClassID, out ClassProb, out Density, out KSigmaProb); 
 27 说明,  classify_class_gmm,通过一个高斯混合模型来计算一个特征向量的类。
 28 
 29 ** ClassifyClassKnn( KNNHandle, Features, out Result, out Rating);
 30 
 31 ** ClassifyClassSvm( SVMHandle, Features, Num, out Class_); 
 32 说明,  classify_class_svm,通过一个支持向量机为一个特征向量分类。
 33 
 34 ** ClassifyImageClassGmm( Image: X; out ClassRegions: X; GMMHandle, RejectionThreshold); 
 35 说明,  classify_image_class_gmm,根据高斯混合模式分类图像。
 36 
 37 ** ClassifyImageClassKnn( Image: X; out ClassRegions: X; out DistanceImage: X; KNNHandle, RejectionThreshold); 
 38 说明,  根据KNN模式分类图像。
 39 
 40 ** ClassifyImageClassSvm( Image: X; out ClassRegions: X; SVMHandle); 
 41 说明,  classify_image_class_svm,根据支持向量机分类图像。
 42 
 43 ** ClearAllClassGmm; 
 44 说明,  clear_all_class_gmm,清除所有高斯混合模型。
 45 
 46 ** ClearAllClassKnn; 
 47 说明,  清除所有knn模型。
 48 
 49 ** ClearAllClassSvm; 
 50 说明,  clear_all_class_svm,清除所有支持向量机。
 51 
 52 ** ClearAllOcrClassKnn; 
 53 说明,  清除所有创建的OCR-knn分级器
 54 
 55 ** ClearAllOcrClassSvm; 
 56 说明,  clear_all_ocr_class_svm,清除所有的基于OCR分级器的SVM,释放相应的存储空间。
 57 
 58 ** ClearClassGmm( GMMHandle); 
 59 说明,  clear_class_gmm,清除一个高斯混合模型。
 60 
 61 ** ClearClassKnn( KNNHandle); 
 62 说明,  清除一个KNN模型。
 63 
 64 ** ClearClassSvm( SVMHandle); 
 65 说明,  clear_class_svm,清除一个支持向量机。
 66 
 67 ** ClearOcrClassKnn( OCRHandle);
 68 
 69 ** ClearOcrClassSvm( OCRHandle); 
 70 说明,  clear_ocr_class_svm,清除基于OCR分级器的一个SVM,释放相应的存储空间。
 71 
 72 ** ClearSamplesClassGmm( GMMHandle); 
 73 说明,  clear_samples_class_gmm,清除一个高斯混合模型的训练数据。
 74 
 75 ** ClearSamplesClassSvm( SVMHandle); 
 76 说明,  clear_samples_class_svm,清除一个支持向量机的训练数据。
 77 
 78 ** CreateClassGmm( NumDim, NumClasses, NumCenters, CovarType, Preprocessing, NumComponents, RandSeed, out GMMHandle); 
 79 说明,  create_class_gmm,为分类创建一个高斯混合模型。
 80 
 81 ** CreateClassKnn( NumDim, out KNNHandle); 
 82 说明,  建立knn分类器
 83 
 84 ** CreateClassLutGmm( GMMHandle, GenParamNames, GenParamValues, out ClassLUTHandle); 
 85 说明,  建立lut-gmm分类器
 86 
 87 ** CreateClassLutKnn( KNNHandle, GenParamNames, GenParamValues, out ClassLUTHandle); 
 88 说明,  建立lut-knn分类器
 89 
 90 ** CreateClassLutSvm( SVMHandle, GenParamNames, GenParamValues, out ClassLUTHandle); 
 91 说明,  建立lut-svm分类器
 92 
 93 ** CreateClassSvm( NumFeatures, KernelType, KernelParam, Nu, NumClasses, Mode, Preprocessing, NumComponents, out SVMHandle); 
 94 说明,  create_class_svm,为模式分类创建一个支持向量机。
 95 
 96 ** CreateOcrClassKnn( WidthCharacter, HeightCharacter, Interpolation, Features, Characters, GenParamNames, GenParamValues, out OCRHandle); 
 97 说明,  创建knn分级器。
 98 
 99 ** CreateOcrClassSvm( WidthCharacter, HeightCharacter, Interpolation, Features, Characters, KernelType, KernelParam, Nu, Mode, Preprocessing, NumComponents, out OCRHandle); 
100 说明,  create_ocr_class_svm,利用支持向量机创建一个OCR分级器。
101 
102 ** DeserializeClassGmm( SerializedItemHandle, out GMMHandle); 
103 说明,  gmm分类器数据转换
104 
105 ** DeserializeClassKnn( SerializedItemHandle, out KNNHandle); 
106 说明,  knn分类器数据转换
107 
108 ** DeserializeClassSvm( SerializedItemHandle, out SVMHandle); 
109 说明,  svm分类器数据转换
110 
111 ** DeserializeOcrClassKnn( SerializedItemHandle, out OCRHandle); 
112 说明,  ocr-knn分类器数据转换
113 
114 ** DeserializeOcrClassSvm( SerializedItemHandle, out OCRHandle); 
115 说明,  ocr-svm分类器数据转换
116 
117 ** DoOcrMultiClassKnn( Character: X; Image: X; OCRHandle, out Class_, out Confidence); 
118 说明,  do_ocr_multi,给多个Character(字符)分配一个KNN类。
119 
120 ** DoOcrMultiClassSvm( Character: X; Image: X; OCRHandle, out Class_); 
121 说明,  do_ocr_multi_class_svm,根据基于OCR分级器的SVM将大量字符分类。
122 
123 ** DoOcrSingleClassKnn( Character: X; Image: X; OCRHandle, NumClasses, NumNeighbors, out Class_, out Confidence); 
124 说明,  do_ocr_multi,给每一个Character(字符)分配一个KNN类。
125 
126 ** DoOcrSingleClassSvm( Character: X; Image: X; OCRHandle, Num, out Class_); 
127 说明,  do_ocr_single_class_svm,根据基于OCR分级器的SVM将单个字符分类。
128 
129 ** DoOcrWordKnn( Character: X; Image: X; OCRHandle, Expression, NumAlternatives, NumCorrections, out Class_, out Confidence, out Word, out Score); 
130 说明,  将字符组作为一个实体。
131 
132 ** DoOcrWordSvm( Character: X; Image: X; OCRHandle, Expression, NumAlternatives, NumCorrections, out Class_, out Word, out Score); 
133 说明,  do_ocr_word_svm,利用OCR分级器将一系列相关字符分类。
134 
135 ** EvaluateClassGmm( GMMHandle, Features, out ClassProb, out Density, out KSigmaProb); 
136 说明,  evaluate_class_gmm,通过一个高斯混合模型评价一个特征向量。
137 
138 ** GetClassTrainDataGmm( GMMHandle, out ClassTrainDataHandle); 
139 说明,  获取gmm分类器系列数据
140 
141 ** GetClassTrainDataKnn( KNNHandle, out ClassTrainDataHandle); 
142 说明,  获取knn分类器系列数据
143 
144 ** GetClassTrainDataSvm( SVMHandle, out ClassTrainDataHandle); 
145 说明,  获取svm分类器系列数据
146 
147 ** GetFeaturesOcrClassKnn( Character: X; OCRHandle, Transform, out Features); 
148 说明,  根据OCR分级器OCRHandl,e确定的字符计算其特征参数,并将它们返回到Features。
149 
150 ** GetFeaturesOcrClassSvm( Character: X; OCRHandle, Transform, out Features); 
151 说明,  get_features_ocr_class_svm,计算一个字符的特征。
152 
153 ** GetParamsClassGmm( GMMHandle, out NumDim, out NumClasses, out MinCenters, out MaxCenters, out CovarType); 
154 说明,  get_params_class_gmm,返回一个高斯混合模型的参数。
155 
156 ** GetParamsClassKnn( KNNHandle, GenParamNames, out GenParamValues); 
157 说明,  返回knn感知器的参数。
158 
159 ** GetParamsClassSvm( SVMHandle, out NumFeatures, out KernelType, out KernelParam, out Nu, out NumClasses, out Mode, out Preprocessing, out NumComponents); 
160 说明,  get_params_class_svm,返回一个支持向量机的参数。
161 
162 ** GetParamsOcrClassKnn( OCRHandle, out WidthCharacter, out HeightCharacter, out Interpolation, out Features, out Characters, out Preprocessing, out NumTrees); 
163 说明,  返回knn-ocr分类器的参数。
164 
165 ** GetParamsOcrClassSvm( OCRHandle, out WidthCharacter, out HeightCharacter, out Interpolation, out Features, out Characters, out KernelType, out KernelParam, out Nu, out Mode, out Preprocessing, out NumComponents); 
166 说明,  get_params_ocr_class_svm,返回一个OCR分级器的参数。
167 
168 ** GetPrepInfoClassGmm( GMMHandle, Preprocessing, out InformationCont, out CumInformationCont); 
169 说明,  get_prep_info_class_gmm,计算一个高斯混合模型的预处理特征向量的信息内容。
170 
171 ** GetPrepInfoClassSvm( SVMHandle, Preprocessing, out InformationCont, out CumInformationCont); 
172 说明,  get_prep_info_class_svm,计算一个支持向量机的预处理特征向量的信息内容。
173 
174 ** GetPrepInfoOcrClassSvm( OCRHandle, TrainingFile, Preprocessing, out InformationCont, out CumInformationCont); 
175 说明,  get_prep_info_ocr_class_svm,计算基于OCR分级器的SVM的预定义特征矢量的信息内容。
176 
177 ** GetSampleClassGmm( GMMHandle, NumSample, out Features, out ClassID); 
178 说明,  get_sample_class_gmm,从一个高斯混合模型的训练数据返回训练样本。
179 
180 ** GetSampleClassKnn( KNNHandle, IndexSample, out Features, out ClassID); 
181 说明,  从knn感知器的训练数据返回一个训练样本。
182 
183 ** GetSampleClassSvm( SVMHandle, IndexSample, out Features, out Target); 
184 说明,  get_sample_class_svm,从一个支持向量机的训练数据返回一个训练样本。
185 
186 ** GetSampleNumClassGmm( GMMHandle, out NumSamples); 
187 说明,  get_sample_num_class_gmm,返回存储在一个高斯混合模型的训练数据中的训练样本的数量。
188 
189 ** GetSampleNumClassKnn( KNNHandle, out NumSamples);
190 
191 ** GetSampleNumClassSvm( SVMHandle, out NumSamples); 
192 说明,  get_sample_num_class_svm,返回存储在一个支持向量机训练数据中的训练样本的数量。
193 
194 ** GetSupportVectorClassSvm( SVMHandle, IndexSupportVector, out Index); 
195 说明,  get_support_vector_class_svm,从一个训练过的支持向量机返回一个支持向量坐标。
196 
197 ** GetSupportVectorNumClassSvm( SVMHandle, out NumSupportVectors, out NumSVPerSVM); 
198 说明,  get_support_vector_num_class_svm,返回一个支持向量机的支持向量的数量。
199 
200 ** GetSupportVectorNumOcrClassSvm( OCRHandle, out NumSupportVectors, out NumSVPerSVM); 
201 说明,  get_support_vector_num_ocr_class_svm,返回OCR分级器支持的矢量的数目。
202 
203 ** GetSupportVectorOcrClassSvm( OCRHandle, IndexSupportVector, out Index); 
204 说明,  get_support_vector_ocr_class_svm,返回基于支持向量机的已测试OCR分级器中支持向量坐标。
205 
206 ** ReadClassGmm( FileName, out GMMHandle); 
207 说明,  read_class_gmm,从一个文件中读取一个高斯混合模型。
208 
209 ** ReadClassKnn( FileName, out KNNHandle); 
210 说明,  读取knn数据
211 
212 ** ReadClassSvm( FileName, out SVMHandle); 
213 说明,  read_class_svm,从一个文件中读取一个支持向量机。
214 
215 ** ReadOcrClassKnn( FileName, out OCRHandle); 
216 说明,  读取ocr-knn数据
217 
218 ** ReadOcrClassSvm( FileName, out OCRHandle); 
219 说明,  read_ocr_class_svm,从文件中读取基于OCR分级器的SVM。
220 
221 ** ReadSamplesClassGmm( GMMHandle, FileName); 
222 说明,  read_samples_class_gmm,从一个文件中读取一个高斯混合模型的训练数据。
223 
224 ** ReadSamplesClassSvm( SVMHandle, FileName); 
225 说明,  read_samples_class_svm,从一个文件中读取一个支持向量机的训练数据。
226 
227 ** ReduceClassSvm( SVMHandle, Method, MinRemainingSV, MaxError, out SVMHandleReduced); 
228 说明,  reduce_class_svm,为了更快分类,用一个降低的支持向量机近似一个训练过的支持向量机。
229 
230 ** ReduceOcrClassSvm( OCRHandle, Method, MinRemainingSV, MaxError, out OCRHandleReduced); 
231 说明,  reduce_ocr_class_svm,根据一个减小的SVM来接近一个基于OCR分级器的SVM。
232 
233 ** SelectFeatureSetGmm( ClassTrainDataHandle, SelectionMethod, GenParamNames, GenParamValues, out GMMHandle, out SelectedFeatureIndices, out Score); 
234 说明,  根据gmm特征选择对象
235 
236 ** SelectFeatureSetKnn( ClassTrainDataHandle, SelectionMethod, GenParamNames, GenParamValues, out KNNHandle, out SelectedFeatureIndices, out Score); 
237 说明,  根据knn特征选择对象
238 
239 ** SelectFeatureSetSvm( ClassTrainDataHandle, SelectionMethod, GenParamNames, GenParamValues, out SVMHandle, out SelectedFeatureIndices, out Score); 
240 说明,  根据svm特征选择对象
241 
242 ** SelectFeatureSetTrainfKnn( TrainingFile, FeatureList, SelectionMethod, Width, Height, GenParamNames, GenParamValues, out OCRHandle, out FeatureSet, out Score); 
243 说明,  根据knn训练参数特征选择对象
244 
245 ** SelectFeatureSetTrainfSvm( TrainingFile, FeatureList, SelectionMethod, Width, Height, GenParamNames, GenParamValues, out OCRHandle, out FeatureSet, out Score); 
246 说明,  根据svm训练参数特征选择对象
247 
248 ** SelectFeatureSetTrainfSvmProtected( TrainingFile, Password, FeatureList, SelectionMethod, Width, Height, GenParamNames, GenParamValues, out OCRHandle, out FeatureSet, out Score); 
249 说明,  根据svm训练参数特征选择对象
250 
251 ** SerializeClassGmm( GMMHandle, out SerializedItemHandle); 
252 说明,  gmm分类器模型数据序列化
253 
254 ** SerializeClassKnn( KNNHandle, out SerializedItemHandle); 
255 说明,  knn分类器模型数据序列化
256 
257 ** SerializeClassSvm( SVMHandle, out SerializedItemHandle); 
258 说明,  svm分类器模型数据序列化
259 
260 ** SerializeOcrClassKnn( OCRHandle, out SerializedItemHandle); 
261 说明,  knn分类器数据序列化
262 
263 ** SerializeOcrClassSvm( OCRHandle, out SerializedItemHandle); 
264 说明,  svm分类器数据序列化
265 
266 ** SetParamsClassKnn( KNNHandle, GenParamNames, GenParamValues); 
267 说明,  设置knn训练器参数
268 
269 ** TrainClassGmm( GMMHandle, MaxIter, Threshold, ClassPriors, Regularize, out Centers, out Iter); 
270 说明,  train_class_gmm,训练一个高斯混合模型。
271 
272 ** TrainClassKnn( KNNHandle, GenParamNames, GenParamValues); 
273 说明,  train_class_knn,训练LNN感知器。
274 
275 ** TrainClassSvm( SVMHandle, Epsilon, TrainMode); 
276 说明,  train_class_svm,训练一个支持向量机。
277 
278 ** TrainfOcrClassKnn( OCRHandle, TrainingFile, GenParamNames, GenParamValues); 
279 说明,  ocr-knn分类器训练
280 
281 ** TrainfOcrClassSvm( OCRHandle, TrainingFile, Epsilon, TrainMode); 
282 说明,  trainf_ocr_class_svm,测试一个OCR分级器。
283 
284 ** TrainfOcrClassSvmProtected( OCRHandle, TrainingFile, Password, Epsilon, TrainMode); 
285 说明,  ocr-svm分类器训练
286 
287 ** WriteClassGmm( GMMHandle, FileName); 
288 说明,  write_class_gmm,向文件中写入一个高斯混合模型。
289 
290 ** WriteClassKnn( KNNHandle, FileName);
291 
292 ** WriteClassSvm( SVMHandle, FileName); 
293 说明,  write_class_svm,向一个文件中写入一个支持向量机。
294 
295 ** WriteOcrClassKnn( OCRHandle, FileName); 
296 说明,  保存ocr-knn分类器数据
297 
298 ** WriteOcrClassSvm( OCRHandle, FileName); 
299 说明,  write_ocr_class_svm,将一个OCR分级器写入文件。
300 
301 ** WriteSamplesClassGmm( GMMHandle, FileName); 
302 说明,  write_samples_class_gmm,向文件中写入一个高斯混合模型的训练数据。
303 
304 ** WriteSamplesClassSvm( SVMHandle, FileName); 
305 说明,  write_samples_class_svm,向一个文件中写入一个支持向量机的训练数据。