Operator Reference

classify_image_class_knnT_classify_image_class_knnClassifyImageClassKnnClassifyImageClassKnnclassify_image_class_knn (Operator)

classify_image_class_knnT_classify_image_class_knnClassifyImageClassKnnClassifyImageClassKnnclassify_image_class_knn — Classify an image with a k-Nearest-Neighbor classifier.

Signature

classify_image_class_knn(Image : ClassRegions, DistanceImage : KNNHandle, RejectionThreshold : )

Herror T_classify_image_class_knn(const Hobject Image, Hobject* ClassRegions, Hobject* DistanceImage, const Htuple KNNHandle, const Htuple RejectionThreshold)

void ClassifyImageClassKnn(const HObject& Image, HObject* ClassRegions, HObject* DistanceImage, const HTuple& KNNHandle, const HTuple& RejectionThreshold)

HRegion HImage::ClassifyImageClassKnn(HImage* DistanceImage, const HClassKnn& KNNHandle, double RejectionThreshold) const

HRegion HClassKnn::ClassifyImageClassKnn(const HImage& Image, HImage* DistanceImage, double RejectionThreshold) const

static void HOperatorSet.ClassifyImageClassKnn(HObject image, out HObject classRegions, out HObject distanceImage, HTuple KNNHandle, HTuple rejectionThreshold)

HRegion HImage.ClassifyImageClassKnn(out HImage distanceImage, HClassKnn KNNHandle, double rejectionThreshold)

HRegion HClassKnn.ClassifyImageClassKnn(HImage image, out HImage distanceImage, double rejectionThreshold)

def classify_image_class_knn(image: HObject, knnhandle: HHandle, rejection_threshold: float) -> Tuple[HObject, HObject]

Description

classify_image_class_knnclassify_image_class_knnClassifyImageClassKnnClassifyImageClassKnnclassify_image_class_knn performs a pixel classification with a k-Nearest-Neighbor classifier (k-NN) KNNHandleKNNHandleKNNHandleKNNHandleknnhandle on the multichannel image ImageImageImageimageimage. Before calling classify_image_class_knnclassify_image_class_knnClassifyImageClassKnnClassifyImageClassKnnclassify_image_class_knn the k-NN classifier must be trained with train_class_knntrain_class_knnTrainClassKnnTrainClassKnntrain_class_knn. ImageImageImageimageimage must have NumDimNumDimNumDimnumDimnum_dim channels, as specified with create_class_knncreate_class_knnCreateClassKnnCreateClassKnncreate_class_knn. On output, ClassRegionsClassRegionsClassRegionsclassRegionsclass_regions contains NumClassesNumClassesNumClassesnumClassesnum_classes regions as the result of the classification. Note that the order of the regions that are returned in ClassRegionsClassRegionsClassRegionsclassRegionsclass_regions corresponds to the order of the classes as defined by the training regions in add_samples_image_class_knnadd_samples_image_class_knnAddSamplesImageClassKnnAddSamplesImageClassKnnadd_samples_image_class_knn. The parameter RejectionThresholdRejectionThresholdRejectionThresholdrejectionThresholdrejection_threshold can be used to reject pixels that have an uncertain classification. RejectionThresholdRejectionThresholdRejectionThresholdrejectionThresholdrejection_threshold represents a threshold on the distance to the nearest neighbor returned by the classification. All pixels having a probability below RejectionThresholdRejectionThresholdRejectionThresholdrejectionThresholdrejection_threshold are not assigned to any class. DistanceImageDistanceImageDistanceImagedistanceImagedistance_image contains the distance of each pixel to its nearest neighbor.

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

ImageImageImageimageimage (input_object)  (multichannel-)image objectHImageHObjectHObjectHobject (byte / cyclic / direction / int1 / int2 / uint2 / int4 / real)

Input image.

ClassRegionsClassRegionsClassRegionsclassRegionsclass_regions (output_object)  region-array objectHRegionHObjectHObjectHobject * (real)

Segmented classes.

DistanceImageDistanceImageDistanceImagedistanceImagedistance_image (output_object)  image objectHImageHObjectHObjectHobject *

Distance of the pixel's nearest neighbor.

KNNHandleKNNHandleKNNHandleKNNHandleknnhandle (input_control)  class_knn HClassKnn, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Handle of the k-NN classifier.

RejectionThresholdRejectionThresholdRejectionThresholdrejectionThresholdrejection_threshold (input_control)  real HTuplefloatHTupleHtuple (real) (double) (double) (double)

Threshold for the rejection of the classification.

Default: 0.5

Suggested values: 0.0, 0.1, 0.2, 0.3, 5.0, 10.0, 255.0

Restriction: RejectionThreshold >= 0.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_knn (3, KNNHandle)
add_samples_image_class_knn (Image, Classes, KNNHandle)
get_sample_num_class_knn (KNNHandle, NumSamples)
train_class_knn (KNNHandle, [], [])
classify_image_class_knn (Image, ClassRegions, DistanceImage, \
                          KNNHandle, 0.5)
dev_display (ClassRegions)

Result

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

Possible Predecessors

train_class_knntrain_class_knnTrainClassKnnTrainClassKnntrain_class_knn, read_class_knnread_class_knnReadClassKnnReadClassKnnread_class_knn

Alternatives

classify_image_class_svmclassify_image_class_svmClassifyImageClassSvmClassifyImageClassSvmclassify_image_class_svm, classify_image_class_mlpclassify_image_class_mlpClassifyImageClassMlpClassifyImageClassMlpclassify_image_class_mlp, classify_image_class_gmmclassify_image_class_gmmClassifyImageClassGmmClassifyImageClassGmmclassify_image_class_gmm, classify_image_class_lutclassify_image_class_lutClassifyImageClassLutClassifyImageClassLutclassify_image_class_lut, class_ndim_normclass_ndim_normClassNdimNormClassNdimNormclass_ndim_norm, class_2dim_supclass_2dim_supClass2dimSupClass2dimSupclass_2dim_sup

See also

add_samples_image_class_knnadd_samples_image_class_knnAddSamplesImageClassKnnAddSamplesImageClassKnnadd_samples_image_class_knn, create_class_knncreate_class_knnCreateClassKnnCreateClassKnncreate_class_knn

Module

Foundation