Operator Reference
classify_image_class_knn (Operator)
classify_image_class_knn
— Classify an image with a k-Nearest-Neighbor classifier.
Signature
classify_image_class_knn(Image : ClassRegions, DistanceImage : KNNHandle, RejectionThreshold : )
Description
classify_image_class_knn
performs a pixel classification
with a k-Nearest-Neighbor classifier (k-NN) KNNHandle
on the
multichannel image Image
. Before calling
classify_image_class_knn
the k-NN classifier must be trained with
train_class_knn
. Image
must have NumDim
channels, as specified with create_class_knn
. On output,
ClassRegions
contains NumClasses
regions as the
result of the classification. Note
that the order of the regions that are returned in
ClassRegions
corresponds to the order of the classes as
defined by the training regions in
add_samples_image_class_knn
. The parameter
RejectionThreshold
can be used to reject pixels that have
an uncertain classification. RejectionThreshold
represents
a threshold on the distance to the nearest neighbor returned by the
classification. All pixels having a probability below
RejectionThreshold
are not assigned to any class.
DistanceImage
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
Image
(input_object) (multichannel-)image →
object (byte / cyclic / direction / int1 / int2 / uint2 / int4 / real)
Input image.
ClassRegions
(output_object) region-array →
object (real)
Segmented classes.
DistanceImage
(output_object) image →
object
Distance of the pixel's nearest neighbor.
KNNHandle
(input_control) class_knn →
(handle)
Handle of the k-NN classifier.
RejectionThreshold
(input_control) real →
(real)
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_knn
returns the value 2 (
H_MSG_TRUE)
. If
necessary an exception is raised.
Possible Predecessors
train_class_knn
,
read_class_knn
Alternatives
classify_image_class_svm
,
classify_image_class_mlp
,
classify_image_class_gmm
,
classify_image_class_lut
,
class_ndim_norm
,
class_2dim_sup
See also
add_samples_image_class_knn
,
create_class_knn
Module
Foundation