classify_image_class_knnT_classify_image_class_knnClassifyImageClassKnnClassifyImageClassKnn (Operator)

Name

classify_image_class_knnT_classify_image_class_knnClassifyImageClassKnnClassifyImageClassKnn — Klassifizieren eines Bildes durch einen k-NN-Klassifikator

Signatur

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)

Beschreibung

classify_image_class_knnclassify_image_class_knnClassifyImageClassKnnClassifyImageClassKnnClassifyImageClassKnn führt auf dem mehrkanaligen Bild ImageImageImageImageimage eine Pixelklassifikation mit dem k-NN-Klassifikator KNNHandleKNNHandleKNNHandleKNNHandleKNNHandle durch. Der k-NN muss vor der Verwendung von classify_image_class_knnclassify_image_class_knnClassifyImageClassKnnClassifyImageClassKnnClassifyImageClassKnn mit train_class_knntrain_class_knnTrainClassKnnTrainClassKnnTrainClassKnn trainiert werden. ImageImageImageImageimage muss die bei create_class_knncreate_class_knnCreateClassKnnCreateClassKnnCreateClassKnn mit NumInput spezifizierte Anzahl von Kanälen besitzen. Als Ausgabe werden in ClassRegionsClassRegionsClassRegionsClassRegionsclassRegions NumClassesNumClassesNumClassesNumClassesnumClasses Regionen als Ergebnis der Pixelklassifikation zurückgegeben. Die Reihenfolge der Regionen in ClassRegionsClassRegionsClassRegionsClassRegionsclassRegions entspricht dabei der Reihenfolge der Klassen, wie sie durch die Trainingsregionen in add_samples_image_class_knnadd_samples_image_class_knnAddSamplesImageClassKnnAddSamplesImageClassKnnAddSamplesImageClassKnn definiert wurde. Der Parameter RejectionThresholdRejectionThresholdRejectionThresholdRejectionThresholdrejectionThreshold erlaubt die Zurückweisung von zu unsicher klassifizierten Pixeln. Er stellt einen Schwellenwert auf dem von der Klassifikation zurückgelieferten Wahrscheinlichkeitsmaß dar (siehe classify_class_knnclassify_class_knnClassifyClassKnnClassifyClassKnnClassifyClassKnn). Alle Pixel mit einer Wahrscheinlichkeit unterhalb von RejectionThresholdRejectionThresholdRejectionThresholdRejectionThresholdrejectionThreshold werden keiner Klasse zugeordnet. Da ein k-NN-Klassifikator bei Pixeldaten, die im Merkmalsraum außerhalb der konvexen Hülle der Trainingsdaten liegen einer der Klassen zuordnet, empfiehlt es sich in vielen Fällen, trotz der Verwendung von RejectionThresholdRejectionThresholdRejectionThresholdRejectionThresholdrejectionThreshold, eine Rückweisungsklasse explizit zu trainieren, indem mit add_samples_image_class_knnadd_samples_image_class_knnAddSamplesImageClassKnnAddSamplesImageClassKnnAddSamplesImageClassKnn Trainingsmuster für die Rückweisungsklasse abgespeichert werden und der k-NN mit train_class_knntrain_class_knnTrainClassKnnTrainClassKnnTrainClassKnn neu trainiert wird.

Ausführungsinformationen

Parameter

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

Eingabebild.

ClassRegionsClassRegionsClassRegionsClassRegionsclassRegions (output_object)  region-array objectHRegionHRegionHobject * (real)

Segmentierte Klassen.

DistanceImageDistanceImageDistanceImageDistanceImagedistanceImage (output_object)  image objectHImageHImageHobject *

Bild mit Distanzen pro Pixel zum jeweiligen nächsten Nachbarn.

KNNHandleKNNHandleKNNHandleKNNHandleKNNHandle (input_control)  class_knn HClassKnn, HTupleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Handle des k-NN-Klassifikators.

RejectionThresholdRejectionThresholdRejectionThresholdRejectionThresholdrejectionThreshold (input_control)  real HTupleHTupleHtuple (real) (double) (double) (double)

Schwellenwert für die Rückweisung der Klassifikation.

Defaultwert: 0.5

Wertevorschläge: 0.0, 0.1, 0.2, 0.3, 5.0, 10.0, 255.0

Restriktion: RejectionThreshold >= 0.0

Beispiel (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)

Ergebnis

Sind die Parameterwerte korrekt, dann liefert classify_image_class_knnclassify_image_class_knnClassifyImageClassKnnClassifyImageClassKnnClassifyImageClassKnn den Wert 2 (H_MSG_TRUE). Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Vorgänger

train_class_knntrain_class_knnTrainClassKnnTrainClassKnnTrainClassKnn, read_class_knnread_class_knnReadClassKnnReadClassKnnReadClassKnn

Alternativen

classify_image_class_svmclassify_image_class_svmClassifyImageClassSvmClassifyImageClassSvmClassifyImageClassSvm, classify_image_class_mlpclassify_image_class_mlpClassifyImageClassMlpClassifyImageClassMlpClassifyImageClassMlp, classify_image_class_gmmclassify_image_class_gmmClassifyImageClassGmmClassifyImageClassGmmClassifyImageClassGmm, classify_image_class_lutclassify_image_class_lutClassifyImageClassLutClassifyImageClassLutClassifyImageClassLut, class_ndim_normclass_ndim_normClassNdimNormClassNdimNormClassNdimNorm, class_2dim_supclass_2dim_supClass2dimSupClass2dimSupClass2dimSup

Siehe auch

add_samples_image_class_knnadd_samples_image_class_knnAddSamplesImageClassKnnAddSamplesImageClassKnnAddSamplesImageClassKnn, create_class_knncreate_class_knnCreateClassKnnCreateClassKnnCreateClassKnn

Modul

Foundation