add_sample_identifier_preparation_dataT_add_sample_identifier_preparation_dataAddSampleIdentifierPreparationDataAddSampleIdentifierPreparationData (Operator)
Name
add_sample_identifier_preparation_dataT_add_sample_identifier_preparation_dataAddSampleIdentifierPreparationDataAddSampleIdentifierPreparationData
— Add preparation data to an existing sample identifier.
Signature
void AddSampleIdentifierPreparationData(const HObject& SampleImage, const HTuple& SampleIdentifier, const HTuple& ObjectIdx, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* ObjectSampleIdx)
Hlong HImage::AddSampleIdentifierPreparationData(const HSampleIdentifier& SampleIdentifier, const HTuple& ObjectIdx, const HTuple& GenParamName, const HTuple& GenParamValue) const
Hlong HImage::AddSampleIdentifierPreparationData(const HSampleIdentifier& SampleIdentifier, Hlong ObjectIdx, const HTuple& GenParamName, const HTuple& GenParamValue) const
Hlong HSampleIdentifier::AddSampleIdentifierPreparationData(const HImage& SampleImage, const HTuple& ObjectIdx, const HTuple& GenParamName, const HTuple& GenParamValue) const
Hlong HSampleIdentifier::AddSampleIdentifierPreparationData(const HImage& SampleImage, Hlong ObjectIdx, const HTuple& GenParamName, const HTuple& GenParamValue) const
static void HOperatorSet.AddSampleIdentifierPreparationData(HObject sampleImage, HTuple sampleIdentifier, HTuple objectIdx, HTuple genParamName, HTuple genParamValue, out HTuple objectSampleIdx)
int HImage.AddSampleIdentifierPreparationData(HSampleIdentifier sampleIdentifier, HTuple objectIdx, HTuple genParamName, HTuple genParamValue)
int HImage.AddSampleIdentifierPreparationData(HSampleIdentifier sampleIdentifier, int objectIdx, HTuple genParamName, HTuple genParamValue)
int HSampleIdentifier.AddSampleIdentifierPreparationData(HImage sampleImage, HTuple objectIdx, HTuple genParamName, HTuple genParamValue)
int HSampleIdentifier.AddSampleIdentifierPreparationData(HImage sampleImage, int objectIdx, HTuple genParamName, HTuple genParamValue)
Description
add_sample_identifier_preparation_dataadd_sample_identifier_preparation_dataAddSampleIdentifierPreparationDataAddSampleIdentifierPreparationDataAddSampleIdentifierPreparationData
adds preparation data to an
existing sample identifier. This is a prerequisite for the preparation of
the sample identifier with the operator prepare_sample_identifierprepare_sample_identifierPrepareSampleIdentifierPrepareSampleIdentifierPrepareSampleIdentifier
.
For an explanation of the concept of sample-based identification
see the introduction of chapter Identification / Sample-Based.
To achieve the maximum identification rate, the internal data structure of
the sample identifier must be adapted to the objects to be identified. For
this, it is useful to provide sample images of all kinds of objects to be
identified.
With each call of add_sample_identifier_preparation_dataadd_sample_identifier_preparation_dataAddSampleIdentifierPreparationDataAddSampleIdentifierPreparationDataAddSampleIdentifierPreparationData
, features
of one SampleImageSampleImageSampleImageSampleImagesampleImage
are added to the SampleIdentifierSampleIdentifierSampleIdentifierSampleIdentifiersampleIdentifier
. The
complete preparation data, which consists of all features of all sample
images that have been added to the sample identifier with multiple calls of
add_sample_identifier_preparation_dataadd_sample_identifier_preparation_dataAddSampleIdentifierPreparationDataAddSampleIdentifierPreparationDataAddSampleIdentifierPreparationData
, should cover
-
all kinds of objects to be identified and
-
all different views of the objects that may appear during the
identification process, sampled to at least 45 degrees.
The domain of the SampleImageSampleImageSampleImageSampleImagesampleImage
should be reduced to the object,
which is visible in the image. This is necessary to avoid that the
SampleIdentifierSampleIdentifierSampleIdentifierSampleIdentifiersampleIdentifier
is adapted to the background of the sample images.
If you cannot provide preparation data that fulfills all of the above
mentioned requirements, the sample identifier may be prepared as well, but
the identification rate may be slightly worse.
Note that you must provide RGB color images, if the generic parameter
'add_color_info'"add_color_info""add_color_info""add_color_info""add_color_info" has been set to 'true'"true""true""true""true" in
create_sample_identifiercreate_sample_identifierCreateSampleIdentifierCreateSampleIdentifierCreateSampleIdentifier
.
Ideally, the images used for preparation and training (see
add_sample_identifier_training_dataadd_sample_identifier_training_dataAddSampleIdentifierTrainingDataAddSampleIdentifierTrainingDataAddSampleIdentifierTrainingData
and
train_sample_identifiertrain_sample_identifierTrainSampleIdentifierTrainSampleIdentifierTrainSampleIdentifier
) are identical. This can easily be realized
by reusing the preparation data for the training of the
SampleIdentifierSampleIdentifierSampleIdentifierSampleIdentifiersampleIdentifier
. To be able to reuse the preparation data, the
index of the object must be given in ObjectIdxObjectIdxObjectIdxObjectIdxobjectIdx
. Otherwise, the
ObjectIdxObjectIdxObjectIdxObjectIdxobjectIdx
can be set to 'unknown'"unknown""unknown""unknown""unknown". See
prepare_sample_identifierprepare_sample_identifierPrepareSampleIdentifierPrepareSampleIdentifierPrepareSampleIdentifier
for an explanation on how to reuse
preparation data for the training of the sample identifier.
The following generic parameters can be used to influence the behavior of
the operator add_sample_identifier_preparation_dataadd_sample_identifier_preparation_dataAddSampleIdentifierPreparationDataAddSampleIdentifierPreparationDataAddSampleIdentifierPreparationData
. These
parameters and their corresponding values can be specified by using
GenParamNameGenParamNameGenParamNameGenParamNamegenParamName
and GenParamValueGenParamValueGenParamValueGenParamValuegenParamValue
, respectively. The
following values for GenParamNameGenParamNameGenParamNameGenParamNamegenParamName
are possible:
- 'image_resize_method'"image_resize_method""image_resize_method""image_resize_method""image_resize_method":
-
See
create_sample_identifiercreate_sample_identifierCreateSampleIdentifierCreateSampleIdentifierCreateSampleIdentifier
for a description of this parameter.
List of values: 'none'"none""none""none""none", 'scale_factor'"scale_factor""scale_factor""scale_factor""scale_factor",
'subsampling_step'"subsampling_step""subsampling_step""subsampling_step""subsampling_step", 'image_area'"image_area""image_area""image_area""image_area"
Default value: If the 'image_resize_method'"image_resize_method""image_resize_method""image_resize_method""image_resize_method" is not set
explicitly by this operator, the value that has been set with
create_sample_identifiercreate_sample_identifierCreateSampleIdentifierCreateSampleIdentifierCreateSampleIdentifier
or set_sample_identifier_paramset_sample_identifier_paramSetSampleIdentifierParamSetSampleIdentifierParamSetSampleIdentifierParam
will be used.
- 'image_resize_value'"image_resize_value""image_resize_value""image_resize_value""image_resize_value":
-
See create_sample_identifiercreate_sample_identifierCreateSampleIdentifierCreateSampleIdentifierCreateSampleIdentifier
for a description of this parameter.
Suggested values: 0.25, 0.5, 1.0,
2, 3, 4
Default value: If the 'image_resize_value'"image_resize_value""image_resize_value""image_resize_value""image_resize_value" is not set
explicitly by this operator, the value that has been set with
create_sample_identifiercreate_sample_identifierCreateSampleIdentifierCreateSampleIdentifierCreateSampleIdentifier
or set_sample_identifier_paramset_sample_identifier_paramSetSampleIdentifierParamSetSampleIdentifierParamSetSampleIdentifierParam
will be used.
add_sample_identifier_preparation_dataadd_sample_identifier_preparation_dataAddSampleIdentifierPreparationDataAddSampleIdentifierPreparationDataAddSampleIdentifierPreparationData
returns the object sample
index of the preparation sample given in SampleImageSampleImageSampleImageSampleImagesampleImage
. This index
can, e.g., be used to remove this sample from the preparation data, if the
sample identifier should be prepared based on a different set of
preparation data.
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
SampleImageSampleImageSampleImageSampleImagesampleImage
(input_object) (multichannel-)image →
objectHImageHImageHobject (byte)
Image that shows an object.
SampleIdentifierSampleIdentifierSampleIdentifierSampleIdentifiersampleIdentifier
(input_control) sample_identifier →
HSampleIdentifier, HTupleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)
Handle of the sample identifier.
ObjectIdxObjectIdxObjectIdxObjectIdxobjectIdx
(input_control) integer →
HTupleHTupleHtuple (integer / string) (int / long / string) (Hlong / HString) (Hlong / char*)
Index of the object visible in the SampleImageSampleImageSampleImageSampleImagesampleImage
.
Default value:
'unknown'
"unknown"
"unknown"
"unknown"
"unknown"
Suggested values: 'unknown'"unknown""unknown""unknown""unknown", 0, 1, 2, 3, 4, 5
GenParamNameGenParamNameGenParamNameGenParamNamegenParamName
(input_control) attribute.name-array →
HTupleHTupleHtuple (string) (string) (HString) (char*)
Generic parameter name.
Default value: []
List of values: 'image_resize_method'"image_resize_method""image_resize_method""image_resize_method""image_resize_method", 'image_resize_value'"image_resize_value""image_resize_value""image_resize_value""image_resize_value"
GenParamValueGenParamValueGenParamValueGenParamValuegenParamValue
(input_control) attribute.value-array →
HTupleHTupleHtuple (real / string / integer) (double / string / int / long) (double / HString / Hlong) (double / char* / Hlong)
Generic parameter value.
Default value: []
Suggested values: 'none'"none""none""none""none", 'scale_factor'"scale_factor""scale_factor""scale_factor""scale_factor", 'subsampling_step'"subsampling_step""subsampling_step""subsampling_step""subsampling_step", 'image_area'"image_area""image_area""image_area""image_area", 0.25, 0.5, 0.75, 1.0, 2, 3, 4
ObjectSampleIdxObjectSampleIdxObjectSampleIdxObjectSampleIdxobjectSampleIdx
(output_control) integer →
HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Index of the object sample.
Result
If the parameters are valid, the operator
add_sample_identifier_preparation_dataadd_sample_identifier_preparation_dataAddSampleIdentifierPreparationDataAddSampleIdentifierPreparationDataAddSampleIdentifierPreparationData
returns the value 2 (H_MSG_TRUE). If
necessary an exception is raised.
Possible Predecessors
create_sample_identifiercreate_sample_identifierCreateSampleIdentifierCreateSampleIdentifierCreateSampleIdentifier
,
read_sample_identifierread_sample_identifierReadSampleIdentifierReadSampleIdentifierReadSampleIdentifier
Possible Successors
prepare_sample_identifierprepare_sample_identifierPrepareSampleIdentifierPrepareSampleIdentifierPrepareSampleIdentifier
Alternatives
read_sample_identifierread_sample_identifierReadSampleIdentifierReadSampleIdentifierReadSampleIdentifier
See also
add_sample_identifier_training_dataadd_sample_identifier_training_dataAddSampleIdentifierTrainingDataAddSampleIdentifierTrainingDataAddSampleIdentifierTrainingData
,
train_sample_identifiertrain_sample_identifierTrainSampleIdentifierTrainSampleIdentifierTrainSampleIdentifier
,
apply_sample_identifierapply_sample_identifierApplySampleIdentifierApplySampleIdentifierApplySampleIdentifier
,
set_sample_identifier_paramset_sample_identifier_paramSetSampleIdentifierParamSetSampleIdentifierParamSetSampleIdentifierParam
,
get_sample_identifier_paramget_sample_identifier_paramGetSampleIdentifierParamGetSampleIdentifierParamGetSampleIdentifierParam
,
get_sample_identifier_object_infoget_sample_identifier_object_infoGetSampleIdentifierObjectInfoGetSampleIdentifierObjectInfoGetSampleIdentifierObjectInfo
,
remove_sample_identifier_preparation_dataremove_sample_identifier_preparation_dataRemoveSampleIdentifierPreparationDataRemoveSampleIdentifierPreparationDataRemoveSampleIdentifierPreparationData
,
remove_sample_identifier_training_dataremove_sample_identifier_training_dataRemoveSampleIdentifierTrainingDataRemoveSampleIdentifierTrainingDataRemoveSampleIdentifierTrainingData
,
write_sample_identifierwrite_sample_identifierWriteSampleIdentifierWriteSampleIdentifierWriteSampleIdentifier
,
serialize_sample_identifierserialize_sample_identifierSerializeSampleIdentifierSerializeSampleIdentifierSerializeSampleIdentifier
,
deserialize_sample_identifierdeserialize_sample_identifierDeserializeSampleIdentifierDeserializeSampleIdentifierDeserializeSampleIdentifier
,
clear_sample_identifierclear_sample_identifierClearSampleIdentifierClearSampleIdentifierClearSampleIdentifier
,
set_sample_identifier_object_infoset_sample_identifier_object_infoSetSampleIdentifierObjectInfoSetSampleIdentifierObjectInfoSetSampleIdentifierObjectInfo
Module
Matching