Name
compare_ext_variation_modelcompare_ext_variation_modelCompareExtVariationModelcompare_ext_variation_modelCompareExtVariationModelCompareExtVariationModel — Compare an image to a variation model.
Herror compare_ext_variation_model(const Hobject Image, Hobject* Region, const Hlong ModelID, const char* Mode)
Herror T_compare_ext_variation_model(const Hobject Image, Hobject* Region, const Htuple ModelID, const Htuple Mode)
compare_ext_variation_modelcompare_ext_variation_modelCompareExtVariationModelcompare_ext_variation_modelCompareExtVariationModelCompareExtVariationModel compares the input image
ImageImageImageImageImageimage to the variation model given by ModelIDModelIDModelIDModelIDModelIDmodelID.
compare_ext_variation_modelcompare_ext_variation_modelCompareExtVariationModelcompare_ext_variation_modelCompareExtVariationModelCompareExtVariationModel is an extension of
compare_variation_modelcompare_variation_modelCompareVariationModelcompare_variation_modelCompareVariationModelCompareVariationModel that provides more modes for the
image comparison. Before compare_ext_variation_modelcompare_ext_variation_modelCompareExtVariationModelcompare_ext_variation_modelCompareExtVariationModelCompareExtVariationModel can be
called, the two internal threshold images of the variation model
must have been created with prepare_variation_modelprepare_variation_modelPrepareVariationModelprepare_variation_modelPrepareVariationModelPrepareVariationModel or
prepare_direct_variation_modelprepare_direct_variation_modelPrepareDirectVariationModelprepare_direct_variation_modelPrepareDirectVariationModelPrepareDirectVariationModel. Let c(x,y)
denote the input image ImageImageImageImageImageimage and t{u,l}
denote the two threshold images (see prepare_variation_modelprepare_variation_modelPrepareVariationModelprepare_variation_modelPrepareVariationModelPrepareVariationModel
or prepare_direct_variation_modelprepare_direct_variation_modelPrepareDirectVariationModelprepare_direct_variation_modelPrepareDirectVariationModelPrepareDirectVariationModel). 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:
c(x,y) > t{u}(x,y) or c(x,y) < t{l}(x,y) .
This mode is identical to compare_variation_modelcompare_variation_modelCompareVariationModelcompare_variation_modelCompareVariationModelCompareVariationModel. For
ModeModeModeModeModemode = 'light'"light""light""light""light""light", RegionRegionRegionRegionRegionregion contains all
points that are too bright:
c(x,y) > t{u}(x,y) .
For ModeModeModeModeModemode = 'dark'"dark""dark""dark""dark""dark", RegionRegionRegionRegionRegionregion contains all
points that are too dark:
c(x,y) < t{l}(x,y) .
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_objSelectObjselect_objSelectObjSelectObj.
- 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.
Image of the object to be compared.
Region containing the points that differ
substantially from the model.
ID of the variation model.
Method used for comparing the variation model.
Default value:
'absolute'
"absolute"
"absolute"
"absolute"
"absolute"
"absolute"
Suggested values: '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"
open_framegrabber ('File', 1, 1, 0, 0, 0, 0, 'default', -1, \
'default', -1, 'default', 'model.seq', 'default', \
-1, -1, AcqHandle)
read_region (Region, 'model.reg')
area_center (Region, Area, RowRef, ColumnRef)
read_shape_model ('model.shm', TemplateID)
read_variation_model ('model.var', ModelID)
for K := 1 to 10000 by 1
grab_image (Image, AcqHandle)
find_shape_model (Image, TemplateID, 0, rad(360), 0.5, 1, 0.5, \
'true', 4, 0.9, Row, Column, Angle, Score)
disp_obj (Image, WindowHandle)
if (|Score| == 1)
vector_angle_to_rigid (Row, Column, Angle, RowRef, \
ColumnRef, 0, HomMat2D)
affine_trans_image (Image, ImageTrans, HomMat2D, 'constant', \
'false')
compare_ext_variation_model (ImageTrans, RegionDiff, ModelID, \
'light')
disp_obj (RegionDiff, WindowHandle)
endif
endfor
clear_shape_model (TemplateID)
clear_variation_model (ModelID)
close_framegrabber (AcqHandle)
compare_ext_variation_modelcompare_ext_variation_modelCompareExtVariationModelcompare_ext_variation_modelCompareExtVariationModelCompareExtVariationModel returns 2 (H_MSG_TRUE) if all parameters
are correct and if the internal threshold images have been generated
with prepare_variation_modelprepare_variation_modelPrepareVariationModelprepare_variation_modelPrepareVariationModelPrepareVariationModel or
prepare_direct_variation_modelprepare_direct_variation_modelPrepareDirectVariationModelprepare_direct_variation_modelPrepareDirectVariationModelPrepareDirectVariationModel.
prepare_variation_modelprepare_variation_modelPrepareVariationModelprepare_variation_modelPrepareVariationModelPrepareVariationModel,
prepare_direct_variation_modelprepare_direct_variation_modelPrepareDirectVariationModelprepare_direct_variation_modelPrepareDirectVariationModelPrepareDirectVariationModel
select_objselect_objSelectObjselect_objSelectObjSelectObj,
connectionconnectionConnectionconnectionConnectionConnection
compare_variation_modelcompare_variation_modelCompareVariationModelcompare_variation_modelCompareVariationModelCompareVariationModel,
dyn_thresholddyn_thresholdDynThresholddyn_thresholdDynThresholdDynThreshold
get_thresh_images_variation_modelget_thresh_images_variation_modelGetThreshImagesVariationModelget_thresh_images_variation_modelGetThreshImagesVariationModelGetThreshImagesVariationModel
Matching