《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,向一个文件中写入一个支持向量机的训练数据。