ClassesClassesClassesClasses | | | | Operators

classify_image_class_lutclassify_image_class_lutClassifyImageClassLutclassify_image_class_lutClassifyImageClassLutClassifyImageClassLut (Operator)

Name

classify_image_class_lutclassify_image_class_lutClassifyImageClassLutclassify_image_class_lutClassifyImageClassLutClassifyImageClassLut — Classify a byte image using a look-up table.

Signature

classify_image_class_lut(Image : ClassRegions : ClassLUTHandle : )

Herror classify_image_class_lut(const Hobject Image, Hobject* ClassRegions, const Hlong ClassLUTHandle)

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

Herror classify_image_class_lut(Hobject Image, Hobject* ClassRegions, const HTuple& ClassLUTHandle)

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

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

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

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

void HOperatorSetX.ClassifyImageClassLut(
[in] IHUntypedObjectX* Image, [out] IHUntypedObjectX*ClassRegions, [in] VARIANT ClassLUTHandle)

IHRegionX* HImageX.ClassifyImageClassLut([in] IHClassLUTX* ClassLUTHandle)

IHRegionX* HClassLUTX.ClassifyImageClassLut([in] IHImageX* Image)

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

HRegion HImage.ClassifyImageClassLut(HClassLUT classLUTHandle)

HRegion HClassLUT.ClassifyImageClassLut(HImage image)

Description

classify_image_class_lutclassify_image_class_lutClassifyImageClassLutclassify_image_class_lutClassifyImageClassLutClassifyImageClassLut performs a pixel classification on a multi-channel byte ImageImageImageImageImageimage using a look-up table (LUT) ClassLUTHandleClassLUTHandleClassLUTHandleClassLUTHandleClassLUTHandleclassLUTHandle. The operator can replace classify_image_class_mlpclassify_image_class_mlpClassifyImageClassMlpclassify_image_class_mlpClassifyImageClassMlpClassifyImageClassMlp, classify_image_class_svmclassify_image_class_svmClassifyImageClassSvmclassify_image_class_svmClassifyImageClassSvmClassifyImageClassSvm and classify_image_class_gmmclassify_image_class_gmmClassifyImageClassGmmclassify_image_class_gmmClassifyImageClassGmmClassifyImageClassGmm. The classification gets a major speed-up, because the estimation of the class in every image point is no longer necessary since every possible response of the MLP, SVM or GMM, respectively, is stored in the LUT. This LUT classifier must be created with the trained classifier in create_class_lut_mlpcreate_class_lut_mlpCreateClassLutMlpcreate_class_lut_mlpCreateClassLutMlpCreateClassLutMlp, create_class_lut_svmcreate_class_lut_svmCreateClassLutSvmcreate_class_lut_svmCreateClassLutSvmCreateClassLutSvm or create_class_lut_gmmcreate_class_lut_gmmCreateClassLutGmmcreate_class_lut_gmmCreateClassLutGmmCreateClassLutGmm, respectively, before classify_image_class_lutclassify_image_class_lutClassifyImageClassLutclassify_image_class_lutClassifyImageClassLutClassifyImageClassLut can be used. For the classification the parameters in create_class_mlpcreate_class_mlpCreateClassMlpcreate_class_mlpCreateClassMlpCreateClassMlp, create_class_svmcreate_class_svmCreateClassSvmcreate_class_svmCreateClassSvmCreateClassSvm and create_class_gmmcreate_class_gmmCreateClassGmmcreate_class_gmmCreateClassGmmCreateClassGmm, respectively, are important: The byte ImageImageImageImageImageimage must have the same number of channels as specified by NumInput, NumFeatures or NumDim, respectively. As result of the pixel classification classify_image_class_lutclassify_image_class_lutClassifyImageClassLutclassify_image_class_lutClassifyImageClassLutClassifyImageClassLut passes NumOutput or NumClasses regions in ClassRegionsClassRegionsClassRegionsClassRegionsClassRegionsclassRegions, respectively

Parallelization

Parameters

ImageImageImageImageImageimage (input_object)  (multichannel-)image objectHImageHImageHImageHImageXHobject (byte)

Input image.

ClassRegionsClassRegionsClassRegionsClassRegionsClassRegionsclassRegions (output_object)  region-array objectHRegionHRegionHRegionArrayHRegionXHobject *

Segmented classes.

ClassLUTHandleClassLUTHandleClassLUTHandleClassLUTHandleClassLUTHandleclassLUTHandle (input_control)  class_lut HClassLUT, HTupleHTupleHClassLUT, HTupleHClassLUTX, VARIANTHtuple (integer) (IntPtr) (Hlong) (Hlong) (Hlong) (Hlong)

Handle of the LUT classifier.

Example (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)
clear_class_mlp (MLPHandle)
*
* classify the image with the LUT
classify_image_class_lut (Image, ClassRegions, ClassLUTHandle)
clear_class_lut (ClassLUTHandle)

Result

If the parameters are valid, the operator classify_image_class_lutclassify_image_class_lutClassifyImageClassLutclassify_image_class_lutClassifyImageClassLutClassifyImageClassLut returns the value 2 (H_MSG_TRUE). If necessary an exception is raised.

Possible Predecessors

create_class_lut_mlpcreate_class_lut_mlpCreateClassLutMlpcreate_class_lut_mlpCreateClassLutMlpCreateClassLutMlp, create_class_lut_svmcreate_class_lut_svmCreateClassLutSvmcreate_class_lut_svmCreateClassLutSvmCreateClassLutSvm, create_class_lut_gmmcreate_class_lut_gmmCreateClassLutGmmcreate_class_lut_gmmCreateClassLutGmmCreateClassLutGmm

Alternatives

classify_image_class_mlpclassify_image_class_mlpClassifyImageClassMlpclassify_image_class_mlpClassifyImageClassMlpClassifyImageClassMlp, classify_image_class_svmclassify_image_class_svmClassifyImageClassSvmclassify_image_class_svmClassifyImageClassSvmClassifyImageClassSvm, classify_image_class_gmmclassify_image_class_gmmClassifyImageClassGmmclassify_image_class_gmmClassifyImageClassGmmClassifyImageClassGmm

See also

create_class_lut_mlpcreate_class_lut_mlpCreateClassLutMlpcreate_class_lut_mlpCreateClassLutMlpCreateClassLutMlp, create_class_lut_svmcreate_class_lut_svmCreateClassLutSvmcreate_class_lut_svmCreateClassLutSvmCreateClassLutSvm, create_class_lut_gmmcreate_class_lut_gmmCreateClassLutGmmcreate_class_lut_gmmCreateClassLutGmmCreateClassLutGmm

Module

Foundation


ClassesClassesClassesClasses | | | | Operators