apply_sample_identifierT_apply_sample_identifierApplySampleIdentifierApplySampleIdentifierapply_sample_identifier应用样本标识符(算子)

名称

apply_sample_identifierT_apply_sample_identifierApplySampleIdentifierApplySampleIdentifierapply_sample_identifier — 使用样本标识符标识对象。

警告

apply_sample_identifierapply_sample_identifierApplySampleIdentifierApplySampleIdentifierApplySampleIdentifierapply_sample_identifier 已过时,仅出于向后兼容性考虑而保留。新应用程序应改用基于深度学习的分类算子,详情请参阅 深度学习 / 分类

签名

apply_sample_identifier(Image : : SampleIdentifier, NumResults, RatingThreshold, GenParamName, GenParamValue : ObjectIdx, Rating)

Herror T_apply_sample_identifier(const Hobject Image, const Htuple SampleIdentifier, const Htuple NumResults, const Htuple RatingThreshold, const Htuple GenParamName, const Htuple GenParamValue, Htuple* ObjectIdx, Htuple* Rating)

void ApplySampleIdentifier(const HObject& Image, const HTuple& SampleIdentifier, const HTuple& NumResults, const HTuple& RatingThreshold, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* ObjectIdx, HTuple* Rating)

HTuple HImage::ApplySampleIdentifier(const HSampleIdentifier& SampleIdentifier, Hlong NumResults, double RatingThreshold, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* Rating) const

Hlong HImage::ApplySampleIdentifier(const HSampleIdentifier& SampleIdentifier, Hlong NumResults, double RatingThreshold, const HTuple& GenParamName, const HTuple& GenParamValue, double* Rating) const

HTuple HSampleIdentifier::ApplySampleIdentifier(const HImage& Image, Hlong NumResults, double RatingThreshold, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* Rating) const

Hlong HSampleIdentifier::ApplySampleIdentifier(const HImage& Image, Hlong NumResults, double RatingThreshold, const HTuple& GenParamName, const HTuple& GenParamValue, double* Rating) const

static void HOperatorSet.ApplySampleIdentifier(HObject image, HTuple sampleIdentifier, HTuple numResults, HTuple ratingThreshold, HTuple genParamName, HTuple genParamValue, out HTuple objectIdx, out HTuple rating)

HTuple HImage.ApplySampleIdentifier(HSampleIdentifier sampleIdentifier, int numResults, double ratingThreshold, HTuple genParamName, HTuple genParamValue, out HTuple rating)

int HImage.ApplySampleIdentifier(HSampleIdentifier sampleIdentifier, int numResults, double ratingThreshold, HTuple genParamName, HTuple genParamValue, out double rating)

HTuple HSampleIdentifier.ApplySampleIdentifier(HImage image, int numResults, double ratingThreshold, HTuple genParamName, HTuple genParamValue, out HTuple rating)

int HSampleIdentifier.ApplySampleIdentifier(HImage image, int numResults, double ratingThreshold, HTuple genParamName, HTuple genParamValue, out double rating)

def apply_sample_identifier(image: HObject, sample_identifier: HHandle, num_results: int, rating_threshold: float, gen_param_name: Sequence[str], gen_param_value: Sequence[Union[str, int, float]]) -> Tuple[Sequence[int], Sequence[float]]

def apply_sample_identifier_s(image: HObject, sample_identifier: HHandle, num_results: int, rating_threshold: float, gen_param_name: Sequence[str], gen_param_value: Sequence[Union[str, int, float]]) -> Tuple[int, float]

描述

apply_sample_identifierapply_sample_identifierApplySampleIdentifierApplySampleIdentifierApplySampleIdentifierapply_sample_identifier 使用给定的 SampleIdentifierSampleIdentifierSampleIdentifierSampleIdentifiersampleIdentifiersample_identifier 识别 ImageImageImageImageimageimage 中的对象,并返回对应的 ObjectIdxObjectIdxObjectIdxObjectIdxobjectIdxobject_idx

有关基于样本的识别概念的说明,请参阅 遗留 / 识别 一章的引言。

算子 apply_sample_identifierapply_sample_identifierApplySampleIdentifierApplySampleIdentifierApplySampleIdentifierapply_sample_identifier 能够为每个查询 ImageImageImageImageimageimage 识别一个对象。这意味着 ImageImageImageImageimageimage(更准确地说, the domain of the ImageImageImageImageimageimage 的域)中不得包含多个对象。参数 NumResultsNumResultsNumResultsNumResultsnumResultsnum_results 定义返回的假设数量,这些假设按其评级值排序。如果通用参数 'apply_rating_threshold'"apply_rating_threshold""apply_rating_threshold""apply_rating_threshold""apply_rating_threshold""apply_rating_threshold" 设置为 'true'"true""true""true""true""true"(见下文),则所有返回的假设其评级值均优于指定的 RatingThresholdRatingThresholdRatingThresholdRatingThresholdratingThresholdrating_threshold 阈值。

已识别对象的索引存储在 ObjectIdxObjectIdxObjectIdxObjectIdxobjectIdxobject_idx 中,其评分值存储在 RatingRatingRatingRatingratingrating 中。若 NumResultsNumResultsNumResultsNumResultsnumResultsnum_results 设置为大于 1 的值,则评分最高的 NumResultsNumResultsNumResultsNumResultsnumResultsnum_results 个假设对象的索引和评分将分别存储在 ObjectIdxObjectIdxObjectIdxObjectIdxobjectIdxobject_idxRatingRatingRatingRatingratingrating 中。

以下通用参数可用于影响 SampleIdentifierSampleIdentifierSampleIdentifierSampleIdentifiersampleIdentifiersample_identifier 的行为。这些参数及其对应值可分别通过 GenParamNameGenParamNameGenParamNameGenParamNamegenParamNamegen_param_nameGenParamValueGenParamValueGenParamValueGenParamValuegenParamValuegen_param_value 进行指定。GenParamNameGenParamNameGenParamNameGenParamNamegenParamNamegen_param_name 的可能取值如下:

'rating_method'"rating_method""rating_method""rating_method""rating_method""rating_method"

此参数决定用于识别对象的评级方法。共有三种不同的方法可供选择:

'distance'"distance""distance""distance""distance""distance"

该评级基于待识别物体图像特征与训练样本图像之间的距离。评级值范围为 0.02.0。若图片完全相同,则 RatingRatingRatingRatingratingrating 将返回 0.0 的评级值。图像差异越大,评级值就越高。采用此评级方法时,将返回原始内部评级。该评级的优势在于,评级值仅取决于被识别对象本身的训练样本,而不受其他训练样本的影响。

'score'"score""score""score""score""score"

该评级基于纹理与颜色分数的精密组合。评级值介于 0.01.0 之间。评级值越高表明图像相似度越高。若同时采用纹理与颜色特征,该评分方法可获得最佳识别效果,因此应优先采用。此方法的缺陷在于训练图像的评级值通常远低于 1.0。此外,需针对每项应用单独确定合适的阈值。

'score_single'"score_single""score_single""score_single""score_single""score_single"

该评级基于纹理与颜色分数的简单组合。评级值介于 0.01.0 之间。评级值越高表明图像相似度越高。若同时使用纹理与颜色特征,评分方法 'score'"score""score""score""score""score" 能获得更佳效果。评分方法 'score_single'"score_single""score_single""score_single""score_single""score_single" 的优势在于,它能为训练图像生成 1.0 的评级值。因此,当仅使用纹理或颜色特征进行识别时,应采用此评级方法。相较于 'score'"score""score""score""score""score" 评级方法,该方法在选择合适阈值时更为简便。

请注意,评级方法的选择既影响对象的识别(即对象的区分),也影响参数 RatingRatingRatingRatingratingrating 中返回的评级值。

值列表: 'distance'"distance""distance""distance""distance""distance", 'score'"score""score""score""score""score", 'score_single'"score_single""score_single""score_single""score_single""score_single"

默认值: 'score'"score""score""score""score""score"

'apply_rating_threshold'"apply_rating_threshold""apply_rating_threshold""apply_rating_threshold""apply_rating_threshold""apply_rating_threshold"

此参数决定是否应用 RatingThresholdRatingThresholdRatingThresholdRatingThresholdratingThresholdrating_threshold。如果将 'apply_rating_threshold'"apply_rating_threshold""apply_rating_threshold""apply_rating_threshold""apply_rating_threshold""apply_rating_threshold" 设置为 'true'"true""true""true""true""true",则将应用 RatingThresholdRatingThresholdRatingThresholdRatingThresholdratingThresholdrating_threshold 中指定的评级阈值。

值列表: 'true'"true""true""true""true""true", 'false'"false""false""false""false""false"

默认值: 'true'"true""true""true""true""true"

'use_color_info'"use_color_info""use_color_info""use_color_info""use_color_info""use_color_info"

有关此参数的说明,请参阅 set_sample_identifier_paramset_sample_identifier_paramSetSampleIdentifierParamSetSampleIdentifierParamSetSampleIdentifierParamset_sample_identifier_param

值列表: 'true'"true""true""true""true""true", 'false'"false""false""false""false""false"

默认值: 只要未设置 'use_color_info'"use_color_info""use_color_info""use_color_info""use_color_info""use_color_info" ,则使用 create_sample_identifiercreate_sample_identifierCreateSampleIdentifierCreateSampleIdentifierCreateSampleIdentifiercreate_sample_identifier 中通过 'add_color_info'"add_color_info""add_color_info""add_color_info""add_color_info""add_color_info" 设置的值。

'use_texture_info'"use_texture_info""use_texture_info""use_texture_info""use_texture_info""use_texture_info"

有关此参数的说明,请参阅 set_sample_identifier_paramset_sample_identifier_paramSetSampleIdentifierParamSetSampleIdentifierParamSetSampleIdentifierParamset_sample_identifier_param

值列表: 'true'"true""true""true""true""true", 'false'"false""false""false""false""false"

默认值: 只要未设置 'use_texture_info'"use_texture_info""use_texture_info""use_texture_info""use_texture_info""use_texture_info",则使用 create_sample_identifiercreate_sample_identifierCreateSampleIdentifierCreateSampleIdentifierCreateSampleIdentifiercreate_sample_identifier 中通过 'add_texture_info'"add_texture_info""add_texture_info""add_texture_info""add_texture_info""add_texture_info" 设置的值。

'image_resize_method'"image_resize_method""image_resize_method""image_resize_method""image_resize_method""image_resize_method"

有关此参数的说明,请参阅 create_sample_identifiercreate_sample_identifierCreateSampleIdentifierCreateSampleIdentifierCreateSampleIdentifiercreate_sample_identifier

值列表: 'none'"none""none""none""none""none", 'scale_factor'"scale_factor""scale_factor""scale_factor""scale_factor""scale_factor", 'subsampling_step'"subsampling_step""subsampling_step""subsampling_step""subsampling_step""subsampling_step", 'image_area'"image_area""image_area""image_area""image_area""image_area"

默认值: 如果该算子未显式设置 'image_resize_method'"image_resize_method""image_resize_method""image_resize_method""image_resize_method""image_resize_method" 参数,则将使用通过 create_sample_identifiercreate_sample_identifierCreateSampleIdentifierCreateSampleIdentifierCreateSampleIdentifiercreate_sample_identifierset_sample_identifier_paramset_sample_identifier_paramSetSampleIdentifierParamSetSampleIdentifierParamSetSampleIdentifierParamset_sample_identifier_param 设置的值。

'image_resize_value'"image_resize_value""image_resize_value""image_resize_value""image_resize_value""image_resize_value"

有关此参数的说明,请参阅 create_sample_identifiercreate_sample_identifierCreateSampleIdentifierCreateSampleIdentifierCreateSampleIdentifiercreate_sample_identifier 。请注意,待识别的对象在样本图像和查询图像中应呈现大致相同的尺度。

建议值: 0.25, 0.5, 1.0, 2, 3, 4

默认值: 如果该算子未显式设置 'image_resize_value'"image_resize_value""image_resize_value""image_resize_value""image_resize_value""image_resize_value" 参数,则将使用通过 create_sample_identifiercreate_sample_identifierCreateSampleIdentifierCreateSampleIdentifierCreateSampleIdentifiercreate_sample_identifierset_sample_identifier_paramset_sample_identifier_paramSetSampleIdentifierParamSetSampleIdentifierParamSetSampleIdentifierParamset_sample_identifier_param 设置的值。

执行信息

参数

ImageImageImageImageimageimage (输入对象)  (multichannel-)image objectHImageHObjectHImageHobject (byte)

显示待识别的对象的图像。

SampleIdentifierSampleIdentifierSampleIdentifierSampleIdentifiersampleIdentifiersample_identifier (输入控制)  sample_identifier HSampleIdentifier, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

样本标识符的句柄。

NumResultsNumResultsNumResultsNumResultsnumResultsnum_results (输入控制)  integer HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

建议的对象索引的数量。

默认值: 1

建议值: 1, 2, 3, 4, 5, 10

RatingThresholdRatingThresholdRatingThresholdRatingThresholdratingThresholdrating_threshold (输入控制)  real HTuplefloatHTupleHtuple (real) (double) (double) (double)

评级阈值。

默认值: 0.0

建议值: 0.05, 0.1, 0.15, 0.2

GenParamNameGenParamNameGenParamNameGenParamNamegenParamNamegen_param_name (输入控制)  attribute.name-array HTupleSequence[str]HTupleHtuple (string) (string) (HString) (char*)

通用参数名称。

默认值: []

值列表: 'apply_rating_threshold'"apply_rating_threshold""apply_rating_threshold""apply_rating_threshold""apply_rating_threshold""apply_rating_threshold", 'image_resize_method'"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""image_resize_value", 'rating_method'"rating_method""rating_method""rating_method""rating_method""rating_method", 'use_color_info'"use_color_info""use_color_info""use_color_info""use_color_info""use_color_info", 'use_texture_info'"use_texture_info""use_texture_info""use_texture_info""use_texture_info""use_texture_info"

GenParamValueGenParamValueGenParamValueGenParamValuegenParamValuegen_param_value (输入控制)  attribute.value-array HTupleSequence[Union[str, int, float]]HTupleHtuple (real / string / integer) (double / string / int / long) (double / HString / Hlong) (double / char* / Hlong)

通用参数值。

默认值: []

值列表: 'distance'"distance""distance""distance""distance""distance", 'false'"false""false""false""false""false", 'score'"score""score""score""score""score", 'score_single'"score_single""score_single""score_single""score_single""score_single", 'true'"true""true""true""true""true"

ObjectIdxObjectIdxObjectIdxObjectIdxobjectIdxobject_idx (输出控制)  integer(-array) HTupleSequence[int]HTupleHtuple (integer) (int / long) (Hlong) (Hlong)

已识别对象的索引。

RatingRatingRatingRatingratingrating (输出控制)  real(-array) HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

已识别对象的评级值。

结果

如果参数有效,算子 set_sample_identifier_paramset_sample_identifier_paramSetSampleIdentifierParamSetSampleIdentifierParamSetSampleIdentifierParamset_sample_identifier_param 返回值 2 ( H_MSG_TRUE )。如有必要,则抛出异常。

可能的前趋

train_sample_identifiertrain_sample_identifierTrainSampleIdentifierTrainSampleIdentifierTrainSampleIdentifiertrain_sample_identifier, read_sample_identifierread_sample_identifierReadSampleIdentifierReadSampleIdentifierReadSampleIdentifierread_sample_identifier

可能的后继

add_sample_identifier_training_dataadd_sample_identifier_training_dataAddSampleIdentifierTrainingDataAddSampleIdentifierTrainingDataAddSampleIdentifierTrainingDataadd_sample_identifier_training_data

另见

create_sample_identifiercreate_sample_identifierCreateSampleIdentifierCreateSampleIdentifierCreateSampleIdentifiercreate_sample_identifier, add_sample_identifier_preparation_dataadd_sample_identifier_preparation_dataAddSampleIdentifierPreparationDataAddSampleIdentifierPreparationDataAddSampleIdentifierPreparationDataadd_sample_identifier_preparation_data, prepare_sample_identifierprepare_sample_identifierPrepareSampleIdentifierPrepareSampleIdentifierPrepareSampleIdentifierprepare_sample_identifier, set_sample_identifier_paramset_sample_identifier_paramSetSampleIdentifierParamSetSampleIdentifierParamSetSampleIdentifierParamset_sample_identifier_param, get_sample_identifier_paramget_sample_identifier_paramGetSampleIdentifierParamGetSampleIdentifierParamGetSampleIdentifierParamget_sample_identifier_param, get_sample_identifier_object_infoget_sample_identifier_object_infoGetSampleIdentifierObjectInfoGetSampleIdentifierObjectInfoGetSampleIdentifierObjectInfoget_sample_identifier_object_info, remove_sample_identifier_preparation_dataremove_sample_identifier_preparation_dataRemoveSampleIdentifierPreparationDataRemoveSampleIdentifierPreparationDataRemoveSampleIdentifierPreparationDataremove_sample_identifier_preparation_data, remove_sample_identifier_training_dataremove_sample_identifier_training_dataRemoveSampleIdentifierTrainingDataRemoveSampleIdentifierTrainingDataRemoveSampleIdentifierTrainingDataremove_sample_identifier_training_data, write_sample_identifierwrite_sample_identifierWriteSampleIdentifierWriteSampleIdentifierWriteSampleIdentifierwrite_sample_identifier, serialize_sample_identifierserialize_sample_identifierSerializeSampleIdentifierSerializeSampleIdentifierSerializeSampleIdentifierserialize_sample_identifier, deserialize_sample_identifierdeserialize_sample_identifierDeserializeSampleIdentifierDeserializeSampleIdentifierDeserializeSampleIdentifierdeserialize_sample_identifier, clear_sample_identifierclear_sample_identifierClearSampleIdentifierClearSampleIdentifierClearSampleIdentifierclear_sample_identifier, set_sample_identifier_object_infoset_sample_identifier_object_infoSetSampleIdentifierObjectInfoSetSampleIdentifierObjectInfoSetSampleIdentifierObjectInfoset_sample_identifier_object_info

模块

匹配