HALCON Reference Manual 10.0.2
Table of Contents / Segmentation / Classification ClassesClassesClasses | | | Operators

classify_image_class_gmmclassify_image_class_gmmclassify_image_class_gmmClassifyImageClassGmmClassifyImageClassGmm (Operator)

Name

classify_image_class_gmmclassify_image_class_gmmclassify_image_class_gmmClassifyImageClassGmmClassifyImageClassGmm — Classify an image with a Gaussian Mixture Model.

Signature

classify_image_class_gmm(Image : ClassRegions : GMMHandle, RejectionThreshold : )

Herror classify_image_class_gmm(const Hobject Image, Hobject* ClassRegions, const Hlong GMMHandle, double RejectionThreshold)

Herror T_classify_image_class_gmm(const Hobject Image, Hobject* ClassRegions, const Htuple GMMHandle, const Htuple RejectionThreshold)

Herror classify_image_class_gmm(Hobject Image, Hobject* ClassRegions, const HTuple& GMMHandle, const HTuple& RejectionThreshold)

HRegionArray HImage::ClassifyImageClassGmm(const HClassGmm& GMMHandle, const HTuple& RejectionThreshold) const

HRegionArray HClassGmm::ClassifyImageClassGmm(const HImage& Image, const HTuple& RejectionThreshold) const

void HOperatorSetX.ClassifyImageClassGmm(
[in] IHUntypedObjectX* Image, [out] IHUntypedObjectX*ClassRegions, [in] VARIANT GMMHandle, [in] VARIANT RejectionThreshold)

IHRegionX* HImageX.ClassifyImageClassGmm(
[in] IHClassGmmX* GMMHandle, [in] double RejectionThreshold)

IHRegionX* HClassGmmX.ClassifyImageClassGmm(
[in] IHImageX* Image, [in] double RejectionThreshold)

static void HOperatorSet.ClassifyImageClassGmm(HObject image, out HObject classRegions, HTuple GMMHandle, HTuple rejectionThreshold)

HRegion HImage.ClassifyImageClassGmm(HClassGmm GMMHandle, double rejectionThreshold)

HRegion HClassGmm.ClassifyImageClassGmm(HImage image, double rejectionThreshold)

Description

classify_image_class_gmmclassify_image_class_gmmclassify_image_class_gmmClassifyImageClassGmmClassifyImageClassGmm performs a pixel classification with the Gaussian Mixture Model (GMM) GMMHandleGMMHandleGMMHandleGMMHandleGMMHandle on the multichannel image ImageImageImageImageimage. Before calling classify_image_class_gmmclassify_image_class_gmmclassify_image_class_gmmClassifyImageClassGmmClassifyImageClassGmm the GMM must be trained with train_class_gmmtrain_class_gmmtrain_class_gmmTrainClassGmmTrainClassGmm. ImageImageImageImageimage must have NumDimNumDimNumDimNumDimnumDim channels, as specified with create_class_gmmcreate_class_gmmcreate_class_gmmCreateClassGmmCreateClassGmm. On output, ClassRegionsClassRegionsClassRegionsClassRegionsclassRegions contains NumClassesNumClassesNumClassesNumClassesnumClasses regions as the result of the classification. The parameter RejectionThresholdRejectionThresholdRejectionThresholdRejectionThresholdrejectionThreshold can be used to reject pixels that have an uncertain classification. RejectionThresholdRejectionThresholdRejectionThresholdRejectionThresholdrejectionThreshold represents a threshold on the K-sigma probability measure returned by the classification (see classify_class_gmmclassify_class_gmmclassify_class_gmmClassifyClassGmmClassifyClassGmm and evaluate_class_gmmevaluate_class_gmmevaluate_class_gmmEvaluateClassGmmEvaluateClassGmm). All pixels having a probability below RejectionThresholdRejectionThresholdRejectionThresholdRejectionThresholdrejectionThreshold are not assigned to any class.

Parallelization

Parameters

ImageImageImageImageimage (input_object)  (multichannel-)image objectHImageHImageHImageXHobject (byte / cyclic / direction / int1 / int2 / uint2 / int4 / real)

Input image.

ClassRegionsClassRegionsClassRegionsClassRegionsclassRegions (output_object)  region-array objectHRegionHRegionArrayHRegionXHobject *

Segmented classes.

GMMHandleGMMHandleGMMHandleGMMHandleGMMHandle (input_control)  class_gmm HClassGmm, HTupleHClassGmm, HTupleHClassGmmX, VARIANTHtuple (integer) (IntPtr) (Hlong) (Hlong) (Hlong)

GMM handle.

RejectionThresholdRejectionThresholdRejectionThresholdRejectionThresholdrejectionThreshold (input_control)  real HTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double)

Threshold for the rejection of the classification.

Default value: 0.5

Suggested values: 0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0

Restriction: (RejectionThreshold >= 0.0) && (RejectionThreshold <= 1.0)

Example (HDevelop)

read_image (Image, 'ic')
gen_rectangle1 (Board, 80, 320, 110, 350)
gen_rectangle1 (Capacitor, 359, 263, 371, 302)
gen_rectangle1 (Resistor, 200, 252, 290, 256)
gen_rectangle1 (IC, 180, 135, 216, 165)
concat_obj (Board, Capacitor, Classes)
concat_obj (Classes, Resistor, Classes)
concat_obj (Classes, IC, Classes)
create_class_gmm (3, 4, [1,30], 'full', 'none',0, 42, GMMHandle)
add_samples_image_class_gmm (Image, Classes, GMMHandle, 1.5)
get_sample_num_class_gmm (GMMHandle, NumSamples)
train_class_gmm (GMMHandle, 150, 1e-4, 'training', 1e-4, Centers, Iter)
classify_image_class_gmm (Image, ClassRegions, GMMHandle, 0.0001)
clear_class_gmm (GMMHandle)

Result

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

Possible Predecessors

train_class_gmmtrain_class_gmmtrain_class_gmmTrainClassGmmTrainClassGmm, read_class_gmmread_class_gmmread_class_gmmReadClassGmmReadClassGmm

Alternatives

classify_image_class_mlpclassify_image_class_mlpclassify_image_class_mlpClassifyImageClassMlpClassifyImageClassMlp, classify_image_class_svmclassify_image_class_svmclassify_image_class_svmClassifyImageClassSvmClassifyImageClassSvm, classify_image_class_lutclassify_image_class_lutclassify_image_class_lutClassifyImageClassLutClassifyImageClassLut, class_ndim_boxclass_ndim_boxclass_ndim_boxClassNdimBoxClassNdimBox, class_ndim_normclass_ndim_normclass_ndim_normClassNdimNormClassNdimNorm, class_2dim_supclass_2dim_supclass_2dim_supClass2dimSupClass2dimSup

See also

add_samples_image_class_gmmadd_samples_image_class_gmmadd_samples_image_class_gmmAddSamplesImageClassGmmAddSamplesImageClassGmm, create_class_gmmcreate_class_gmmcreate_class_gmmCreateClassGmmCreateClassGmm

Module

Foundation


Table of Contents / Segmentation / Classification ClassesClassesClasses | | | Operators
HALCON Reference Manual 10.0.2 Copyright © 1996-2011 MVTec Software GmbH