Skip to content

classify_image_class_lutClassifyImageClassLutClassifyImageClassLutclassify_image_class_lutT_classify_image_class_lut🔗

Short description🔗

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

Signature🔗

classify_image_class_lut( image Image, out region ClassRegions, class_lut ClassLUTHandle )void ClassifyImageClassLut( const HObject& Image, HObject* ClassRegions, const HTuple& ClassLUTHandle )static void HOperatorSet.ClassifyImageClassLut( HObject image, out HObject classRegions, HTuple classLUTHandle )def classify_image_class_lut( image: HObject, class_luthandle: HHandle ) -> HObject

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

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

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

HRegion HImage.ClassifyImageClassLut( HClassLUT classLUTHandle )

HRegion HClassLUT.ClassifyImageClassLut( HImage image )

Description🔗

classify_image_class_lutClassifyImageClassLut performs a pixel classification on a multi-channel byte Imageimageimage using a look-up table (LUT) ClassLUTHandleclassLUTHandleclass_luthandle. The operator can replace classify_image_class_gmmClassifyImageClassGmm, classify_image_class_knnClassifyImageClassKnn, classify_image_class_mlpClassifyImageClassMlp and classify_image_class_svmClassifyImageClassSvm. 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 GMM, KNN, MLP or SVM, respectively, is stored in the LUT. This LUT classifier must be created with the trained classifier in create_class_lut_gmmCreateClassLutGmm, create_class_lut_knnCreateClassLutKnn, create_class_lut_mlpCreateClassLutMlp or create_class_lut_svmCreateClassLutSvm, respectively, before classify_image_class_lutClassifyImageClassLut can be used. For the classification the parameters in create_class_gmmCreateClassGmm, create_class_knnCreateClassKnn, create_class_mlpCreateClassMlp and create_class_svmCreateClassSvm, respectively, are important: The byte Imageimageimage must have the same number of channels as specified by NumInputnumInputnum_input, NumFeaturesnumFeaturesnum_features or NumDimnumDimnum_dim, respectively. As result of the pixel classification classify_image_class_lutClassifyImageClassLut passes NumOutputnumOutputnum_output or NumClassesnumClassesnum_classes regions in ClassRegionsclassRegionsclass_regions, respectively

Execution information🔗

Execution information
  • Multithreading type: reentrant (runs in parallel with non-exclusive operators).

  • Multithreading scope: global (may be called from any thread).

  • Automatically parallelized on internal data level.

Parameters🔗

Imageimageimage (input_object) (multichannel-)image → object (byte)HObject (byte)HImage (byte)HObject (byte)Hobject (byte)

Input image.

ClassRegionsclassRegionsclass_regions (output_object) region-array → objectHObjectHRegionHObjectHobject *

Segmented classes.

ClassLUTHandleclassLUTHandleclass_luthandle (input_control) class_lut → (handle)HTuple (HHandle)HClassLUT, HTuple (IntPtr)HHandleHtuple (handle)

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

Result🔗

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

Combinations with other operators🔗

Combinations

Possible predecessors

create_class_lut_gmmCreateClassLutGmm, create_class_lut_knnCreateClassLutKnn, create_class_lut_mlpCreateClassLutMlp, create_class_lut_svmCreateClassLutSvm

Alternatives

classify_image_class_gmmClassifyImageClassGmm, classify_image_class_knnClassifyImageClassKnn, classify_image_class_mlpClassifyImageClassMlp, classify_image_class_svmClassifyImageClassSvm

See also

create_class_lut_gmmCreateClassLutGmm, create_class_lut_knnCreateClassLutKnn, create_class_lut_mlpCreateClassLutMlp, create_class_lut_svmCreateClassLutSvm, create_class_lut_gmmCreateClassLutGmm

Module🔗

Foundation