Operator Reference
learn_ndim_box (Operator)
learn_ndim_box
— Train a classificator using a multi-channel image.
Warning
learn_ndim_box
is obsolete and is only provided for
reasons of backward compatibility.
The operator will be removed with HALCON 25.11.
Signature
learn_ndim_box(Foreground, Background, MultiChannelImage : : ClassifHandle : )
Description
learn_ndim_box
trains the classificator ClassifHandle
with the gray values of MultiChannelImage
using the
points in Foreground
as training sample. The points in
Background
are to be rejected by the classificator. The
classificator trained thus can be used in class_ndim_box
to
segment multi-channel images.
Foreground
are the points that should be found, Background
contains the points that should not be found.
Each pixel is trained once during the training process. For points
in Foreground
the class “0” is used, while for
Background
“1” is used. Pixels are trained by
alternating points from Foreground
with points from
Background
. If one region is smaller than the other,
pixels are taken cyclically from the smaller region until the larger
region is exhausted. learn_ndim_box
later accepts only
points that can be classified into class “0”.
From a user's point of view the key difference between
learn_ndim_norm
and learn_ndim_box
is that in the
latter case the rejection class affects the classification process
itself. Here, a hyper plane is generated that separates
Foreground
and Background
classes, so that no
points in feature space are classified incorrectly.
As for learn_ndim_norm
, however, an overlap between
Foreground
and Background
class is allowed.
This has its effect on the return value Quality.
The larger the overlap, the smaller this value.
Attention
All channels must be of the same type.
Execution Information
- Multithreading type: reentrant (runs in parallel with non-exclusive operators).
- Multithreading scope: global (may be called from any thread).
- Processed without parallelization.
This operator modifies the state of the following input parameter:
During execution of this operator, access to the value of this parameter must be synchronized if it is used across multiple threads.
Parameters
Foreground
(input_object) region(-array) →
object
Foreground pixels to be trained.
Background
(input_object) region(-array) →
object
Background pixels to be trained (rejection class).
MultiChannelImage
(input_object) (multichannel-)image(-array) →
object (byte / direction / cyclic / int1 / int2 / int4 / real)
Multi-channel training image.
ClassifHandle
(input_control, state is modified) class_box →
(handle)
Handle of the classifier.
Complexity
Let N be the number of generated hyper-cuboids and A be the area of the larger input region. Then the runtime complexity is O(N * A).
Result
learn_ndim_box
returns 2 (
H_MSG_TRUE)
if all parameters are
correct and there is an active classificator. The behavior with
respect to the input images can be determined by setting the values
of the flags 'no_object_result' and
'empty_region_result' with set_system
.
If necessary, an exception is raised.
Possible Predecessors
Possible Successors
class_ndim_box
,
descript_class_box
Alternatives
learn_class_box
,
learn_ndim_norm
Module
Foundation