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_lut(Image : ClassRegions : ClassLUTHandle : )

Herror T_classify_image_class_lut(const Hobject Image, Hobject* ClassRegions, const Htuple ClassLUTHandle)

void ClassifyImageClassLut(const HObject& Image, HObject* ClassRegions, const HTuple& ClassLUTHandle)

HRegion HImage::ClassifyImageClassLut(const HClassLUT& ClassLUTHandle) const

HRegion HClassLUT::ClassifyImageClassLut(const HImage& Image) const

static void HOperatorSet.ClassifyImageClassLut(HObject image, out HObject classRegions, HTuple classLUTHandle)

HRegion HImage.ClassifyImageClassLut(HClassLUT classLUTHandle)

HRegion HClassLUT.ClassifyImageClassLut(HImage image)

def classify_image_class_lut(image: HObject, class_luthandle: HHandle) -> HObject

描述

classify_image_class_lutclassify_image_class_lutClassifyImageClassLutClassifyImageClassLutClassifyImageClassLutclassify_image_class_lut 通过查找表(LUT)ClassLUTHandleClassLUTHandleClassLUTHandleClassLUTHandleclassLUTHandleclass_luthandle 对多通道字节图像 ImageImageImageImageimageimage 执行像素分类。该算子可替代 classify_image_class_gmmclassify_image_class_gmmClassifyImageClassGmmClassifyImageClassGmmClassifyImageClassGmmclassify_image_class_gmmclassify_image_class_knnclassify_image_class_knnClassifyImageClassKnnClassifyImageClassKnnClassifyImageClassKnnclassify_image_class_knnclassify_image_class_mlpclassify_image_class_mlpClassifyImageClassMlpClassifyImageClassMlpClassifyImageClassMlpclassify_image_class_mlpclassify_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_gmmcreate_class_lut_knncreate_class_lut_knnCreateClassLutKnnCreateClassLutKnnCreateClassLutKnncreate_class_lut_knncreate_class_lut_mlpcreate_class_lut_mlpCreateClassLutMlpCreateClassLutMlpCreateClassLutMlpcreate_class_lut_mlpcreate_class_lut_svmcreate_class_lut_svmCreateClassLutSvmCreateClassLutSvmCreateClassLutSvmcreate_class_lut_svm 创建训练好的分类器来生成此查找表分类器。分类过程中,create_class_gmmcreate_class_gmmCreateClassGmmCreateClassGmmCreateClassGmmcreate_class_gmmcreate_class_knncreate_class_knnCreateClassKnnCreateClassKnnCreateClassKnncreate_class_knncreate_class_mlpcreate_class_mlpCreateClassMlpCreateClassMlpCreateClassMlpcreate_class_mlpcreate_class_svmcreate_class_svmCreateClassSvmCreateClassSvmCreateClassSvmcreate_class_svm 中的参数至关重要:字节(byte)图像 ImageImageImageImageimageimage 的通道数必须与 NumInputNumInputNumInputNumInputnumInputnum_inputNumFeaturesNumFeaturesNumFeaturesNumFeaturesnumFeaturesnum_featuresNumDimNumDimNumDimNumDimnumDimnum_dim 指定的通道数一致。像素分类算子 classify_image_class_lutclassify_image_class_lutClassifyImageClassLutClassifyImageClassLutClassifyImageClassLutclassify_image_class_lut 会将 NumOutputNumOutputNumOutputNumOutputnumOutputnum_outputNumClassesNumClassesNumClassesNumClassesnumClassesnum_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

模块

基础