classify_image_class_lutT_classify_image_class_lutClassifyImageClassLutClassifyImageClassLutclassify_image_class_lut分类图像类查找表(算子)
名称
classify_image_class_lutT_classify_image_class_lutClassifyImageClassLutClassifyImageClassLutclassify_image_class_lut — 使用查找表对字节图像进行分类。
签名
描述
classify_image_class_lutclassify_image_class_lutClassifyImageClassLutClassifyImageClassLutClassifyImageClassLutclassify_image_class_lut 通过查找表(LUT)ClassLUTHandleClassLUTHandleClassLUTHandleClassLUTHandleclassLUTHandleclass_luthandle 对多通道字节图像 ImageImageImageImageimageimage 执行像素分类。该算子可替代
classify_image_class_gmmclassify_image_class_gmmClassifyImageClassGmmClassifyImageClassGmmClassifyImageClassGmmclassify_image_class_gmm、classify_image_class_knnclassify_image_class_knnClassifyImageClassKnnClassifyImageClassKnnClassifyImageClassKnnclassify_image_class_knn、classify_image_class_mlpclassify_image_class_mlpClassifyImageClassMlpClassifyImageClassMlpClassifyImageClassMlpclassify_image_class_mlp 和 classify_image_class_svmclassify_image_class_svmClassifyImageClassSvmClassifyImageClassSvmClassifyImageClassSvmclassify_image_class_svm。分类速度得到显著提升,因为每个图像点的类别估计不再必要——由于 GMM、KNN、MLP 或 SVM 的每种可能响应都已分别存储在查找表中。在使用 classify_image_class_lutclassify_image_class_lutClassifyImageClassLutClassifyImageClassLutClassifyImageClassLutclassify_image_class_lut 之前,必须分别通过 create_class_lut_gmmcreate_class_lut_gmmCreateClassLutGmmCreateClassLutGmmCreateClassLutGmmcreate_class_lut_gmm、create_class_lut_knncreate_class_lut_knnCreateClassLutKnnCreateClassLutKnnCreateClassLutKnncreate_class_lut_knn、create_class_lut_mlpcreate_class_lut_mlpCreateClassLutMlpCreateClassLutMlpCreateClassLutMlpcreate_class_lut_mlp 或
create_class_lut_svmcreate_class_lut_svmCreateClassLutSvmCreateClassLutSvmCreateClassLutSvmcreate_class_lut_svm 创建训练好的分类器来生成此查找表分类器。分类过程中,create_class_gmmcreate_class_gmmCreateClassGmmCreateClassGmmCreateClassGmmcreate_class_gmm、create_class_knncreate_class_knnCreateClassKnnCreateClassKnnCreateClassKnncreate_class_knn、create_class_mlpcreate_class_mlpCreateClassMlpCreateClassMlpCreateClassMlpcreate_class_mlp 和 create_class_svmcreate_class_svmCreateClassSvmCreateClassSvmCreateClassSvmcreate_class_svm 中的参数至关重要:字节(byte)图像 ImageImageImageImageimageimage 的通道数必须与 NumInputNumInputNumInputNumInputnumInputnum_input、NumFeaturesNumFeaturesNumFeaturesNumFeaturesnumFeaturesnum_features 或 NumDimNumDimNumDimNumDimnumDimnum_dim 指定的通道数一致。像素分类算子 classify_image_class_lutclassify_image_class_lutClassifyImageClassLutClassifyImageClassLutClassifyImageClassLutclassify_image_class_lut 会将 NumOutputNumOutputNumOutputNumOutputnumOutputnum_output 或
NumClassesNumClassesNumClassesNumClassesnumClassesnum_classes 个区域传递至 ClassRegionsClassRegionsClassRegionsClassRegionsclassRegionsclass_regions 中。
执行信息
- 多线程类型:可重入(与非独占算子并行运行)。
- 多线程作用域:全局(可从任何线程调用)。
- 在内部数据级别上自动并行化。
参数
ImageImageImageImageimageimage (输入对象) (multichannel-)image → objectHImageHObjectHImageHobject (byte)
输入图像。
ClassRegionsClassRegionsClassRegionsClassRegionsclassRegionsclass_regions (输出对象) region-array → objectHRegionHObjectHRegionHobject *
分割的类别。
ClassLUTHandleClassLUTHandleClassLUTHandleClassLUTHandleclassLUTHandleclass_luthandle (输入控制) class_lut → HClassLUT, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)
LUT 分类器的句柄。
示例(HDevelop)
read_image (Image, 'patras')
gen_rectangle1 (Sea, 10, 10, 120, 270)
gen_rectangle2 (Deck, [170,400], [350,375], [-0.56192,-0.75139], \
[64,104], [26,11])
union1 (Deck, Deck)
gen_rectangle1 (Walls, 355, 623, 420, 702)
gen_rectangle2 (Chimney, 286, 623, -0.56192, 64, 33)
concat_obj (Sea, Deck, Classes)
concat_obj (Classes, Walls, Classes)
concat_obj (Classes, Chimney, Classes)
*
* create MLP classifier and train it with sample classes
create_class_mlp (3, 3, 4, 'softmax', 'principal_components', 3, \
42, MLPHandle)
add_samples_image_class_mlp (Image, Classes, MLPHandle)
train_class_mlp (MLPHandle, 200, 1, 0.01, Error, ErrorLog)
*
* create the LUT classifier
create_class_lut_mlp (MLPHandle, [], [], ClassLUTHandle)
*
* classify the image with the LUT
classify_image_class_lut (Image, ClassRegions, ClassLUTHandle)
结果
如果参数有效,算子
classify_image_class_lutclassify_image_class_lutClassifyImageClassLutClassifyImageClassLutClassifyImageClassLutclassify_image_class_lut 返回值 2 (H_MSG_TRUE)。如有必要,则抛出异常。
可能的前趋
create_class_lut_gmmcreate_class_lut_gmmCreateClassLutGmmCreateClassLutGmmCreateClassLutGmmcreate_class_lut_gmm,
create_class_lut_knncreate_class_lut_knnCreateClassLutKnnCreateClassLutKnnCreateClassLutKnncreate_class_lut_knn,
create_class_lut_mlpcreate_class_lut_mlpCreateClassLutMlpCreateClassLutMlpCreateClassLutMlpcreate_class_lut_mlp,
create_class_lut_svmcreate_class_lut_svmCreateClassLutSvmCreateClassLutSvmCreateClassLutSvmcreate_class_lut_svm
替代
classify_image_class_gmmclassify_image_class_gmmClassifyImageClassGmmClassifyImageClassGmmClassifyImageClassGmmclassify_image_class_gmm,
classify_image_class_knnclassify_image_class_knnClassifyImageClassKnnClassifyImageClassKnnClassifyImageClassKnnclassify_image_class_knn,
classify_image_class_mlpclassify_image_class_mlpClassifyImageClassMlpClassifyImageClassMlpClassifyImageClassMlpclassify_image_class_mlp,
classify_image_class_svmclassify_image_class_svmClassifyImageClassSvmClassifyImageClassSvmClassifyImageClassSvmclassify_image_class_svm
另见
create_class_lut_gmmcreate_class_lut_gmmCreateClassLutGmmCreateClassLutGmmCreateClassLutGmmcreate_class_lut_gmm,
create_class_lut_knncreate_class_lut_knnCreateClassLutKnnCreateClassLutKnnCreateClassLutKnncreate_class_lut_knn,
create_class_lut_mlpcreate_class_lut_mlpCreateClassLutMlpCreateClassLutMlpCreateClassLutMlpcreate_class_lut_mlp,
create_class_lut_svmcreate_class_lut_svmCreateClassLutSvmCreateClassLutSvmCreateClassLutSvmcreate_class_lut_svm,
create_class_lut_gmmcreate_class_lut_gmmCreateClassLutGmmCreateClassLutGmmCreateClassLutGmmcreate_class_lut_gmm
模块
基础