compare_ext_variation_modelT_compare_ext_variation_modelCompareExtVariationModelCompareExtVariationModelcompare_ext_variation_model (Operator)
名称
compare_ext_variation_modelT_compare_ext_variation_modelCompareExtVariationModelCompareExtVariationModelcompare_ext_variation_model — 将图像与变体模型进行比较。
签名
Herror T_compare_ext_variation_model(const Hobject Image, Hobject* Region, const Htuple ModelID, const Htuple Mode)
def compare_ext_variation_model(image: HObject, model_id: HHandle, mode: str) -> HObject
描述
compare_ext_variation_modelcompare_ext_variation_modelCompareExtVariationModelCompareExtVariationModelCompareExtVariationModelcompare_ext_variation_model compares the input image
ImageImageImageImageimageimage to the variation model given by ModelIDModelIDModelIDModelIDmodelIDmodel_id.
compare_ext_variation_modelcompare_ext_variation_modelCompareExtVariationModelCompareExtVariationModelCompareExtVariationModelcompare_ext_variation_model is an extension of
compare_variation_modelcompare_variation_modelCompareVariationModelCompareVariationModelCompareVariationModelcompare_variation_model that provides more modes for the
image comparison. Before compare_ext_variation_modelcompare_ext_variation_modelCompareExtVariationModelCompareExtVariationModelCompareExtVariationModelcompare_ext_variation_model can be
called, the two internal threshold images of the variation model
must have been created with prepare_variation_modelprepare_variation_modelPrepareVariationModelPrepareVariationModelPrepareVariationModelprepare_variation_model or
prepare_direct_variation_modelprepare_direct_variation_modelPrepareDirectVariationModelPrepareDirectVariationModelPrepareDirectVariationModelprepare_direct_variation_model. Let c(x,y)
denote the input image ImageImageImageImageimageimage and
denote the two threshold images (see prepare_variation_modelprepare_variation_modelPrepareVariationModelPrepareVariationModelPrepareVariationModelprepare_variation_model
or prepare_direct_variation_modelprepare_direct_variation_modelPrepareDirectVariationModelPrepareDirectVariationModelPrepareDirectVariationModelprepare_direct_variation_model). Then, for ModeModeModeModemodemode
= 'absolute'"absolute""absolute""absolute""absolute""absolute" the output region RegionRegionRegionRegionregionregion contains
all points that differ substantially from the model, i.e., the
points that fulfill the following condition:
This mode is identical to compare_variation_modelcompare_variation_modelCompareVariationModelCompareVariationModelCompareVariationModelcompare_variation_model. For
ModeModeModeModemodemode = 'light'"light""light""light""light""light", RegionRegionRegionRegionregionregion contains all
points that are too bright:
For ModeModeModeModemodemode = 'dark'"dark""dark""dark""dark""dark", RegionRegionRegionRegionregionregion contains all
points that are too dark:
Finally, for ModeModeModeModemodemode = 'light_dark'"light_dark""light_dark""light_dark""light_dark""light_dark" two regions are
returned in RegionRegionRegionRegionregionregion. The first region contains the result
of ModeModeModeModemodemode = 'light'"light""light""light""light""light", while the second region
contains the result of ModeModeModeModemodemode = 'dark'"dark""dark""dark""dark""dark". The
respective regions can be selected with select_objselect_objSelectObjSelectObjSelectObjselect_obj.
执行信息
- Multithreading type: reentrant (runs in parallel with non-exclusive operators).
- Multithreading scope: global (may be called from any thread).
- Automatically parallelized on tuple level.
- Automatically parallelized on domain level.
参数
ImageImageImageImageimageimage (input_object) singlechannelimage(-array) → objectHImageHObjectHImageHobject (byte / int2 / uint2)
Image of the object to be compared.
RegionRegionRegionRegionregionregion (output_object) region(-array) → objectHRegionHObjectHRegionHobject *
Region containing the points that differ
substantially from the model.
ModelIDModelIDModelIDModelIDmodelIDmodel_id (input_control) variation_model → HVariationModel, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)
ID of the variation model.
ModeModeModeModemodemode (input_control) string → HTuplestrHTupleHtuple (string) (string) (HString) (char*)
Method used for comparing the variation model.
默认值:
'absolute'
"absolute"
"absolute"
"absolute"
"absolute"
"absolute"
建议值:
'absolute'"absolute""absolute""absolute""absolute""absolute", 'light'"light""light""light""light""light", 'dark'"dark""dark""dark""dark""dark", 'light_dark'"light_dark""light_dark""light_dark""light_dark""light_dark"
示例(HDevelop)
read_shape_model ('model.shm', TemplateID)
read_variation_model ('model.var', ModelID)
for K := 1 to 10 by 1
read_image (Image, 'pen-' + K$'02')
find_generic_shape_model (Image, TemplateID, MatchResultID, \
NumMatchResult)
get_generic_shape_model_result (MatchResultID, 'all', 'hom_mat_2d', \
HomMat2D)
dev_display (Image)
if (NumMatchResult == 1)
affine_trans_image (Image, ImageTrans, HomMat2D, 'constant', \
'false')
compare_ext_variation_model (ImageTrans, RegionDiff, ModelID, \
'absolute')
dev_display (RegionDiff)
endif
endfor
结果
compare_ext_variation_modelcompare_ext_variation_modelCompareExtVariationModelCompareExtVariationModelCompareExtVariationModelcompare_ext_variation_model returns 2 (
H_MSG_TRUE)
if all parameters
are correct and if the internal threshold images have been generated
with prepare_variation_modelprepare_variation_modelPrepareVariationModelPrepareVariationModelPrepareVariationModelprepare_variation_model or
prepare_direct_variation_modelprepare_direct_variation_modelPrepareDirectVariationModelPrepareDirectVariationModelPrepareDirectVariationModelprepare_direct_variation_model.
可能的前置算子
prepare_variation_modelprepare_variation_modelPrepareVariationModelPrepareVariationModelPrepareVariationModelprepare_variation_model,
prepare_direct_variation_modelprepare_direct_variation_modelPrepareDirectVariationModelPrepareDirectVariationModelPrepareDirectVariationModelprepare_direct_variation_model
可能的后继算子
select_objselect_objSelectObjSelectObjSelectObjselect_obj,
connectionconnectionConnectionConnectionConnectionconnection
替代算子
compare_variation_modelcompare_variation_modelCompareVariationModelCompareVariationModelCompareVariationModelcompare_variation_model,
dyn_thresholddyn_thresholdDynThresholdDynThresholdDynThresholddyn_threshold
另见
get_thresh_images_variation_modelget_thresh_images_variation_modelGetThreshImagesVariationModelGetThreshImagesVariationModelGetThreshImagesVariationModelget_thresh_images_variation_model
模块
Matching