Name
compare_ext_variation_modelcompare_ext_variation_modelCompareExtVariationModelcompare_ext_variation_modelCompareExtVariationModelCompareExtVariationModel — Vergleich eines Bildes mit einem Variationsmodell.
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 vergleicht das Eingabebild
ImageImageImageImageImageimage mit dem Variationsmodell ModelIDModelIDModelIDModelIDModelIDmodelID.
compare_ext_variation_modelcompare_ext_variation_modelCompareExtVariationModelcompare_ext_variation_modelCompareExtVariationModelCompareExtVariationModel ist eine Erweiterung von
compare_variation_modelcompare_variation_modelCompareVariationModelcompare_variation_modelCompareVariationModelCompareVariationModel, die mehr Modi zum Bildvergleich
bietet. Bevor compare_ext_variation_modelcompare_ext_variation_modelCompareExtVariationModelcompare_ext_variation_modelCompareExtVariationModelCompareExtVariationModel aufgerufen werden
kann, müssen mit prepare_variation_modelprepare_variation_modelPrepareVariationModelprepare_variation_modelPrepareVariationModelPrepareVariationModel oder
prepare_direct_variation_modelprepare_direct_variation_modelPrepareDirectVariationModelprepare_direct_variation_modelPrepareDirectVariationModelPrepareDirectVariationModel die beiden internen
Schwellwertbilder erzeugt worden sein. Sei das aktuelle Bild
ImageImageImageImageImageimage durch c(x,y) bezeichnet und die beiden
internen Schwellwertbilder mit t{u,l} (siehe
prepare_variation_modelprepare_variation_modelPrepareVariationModelprepare_variation_modelPrepareVariationModelPrepareVariationModel oder
prepare_direct_variation_modelprepare_direct_variation_modelPrepareDirectVariationModelprepare_direct_variation_modelPrepareDirectVariationModelPrepareDirectVariationModel). Dann wird für
ModeModeModeModeModemode = 'absolute'"absolute""absolute""absolute""absolute""absolute" die Ausgaberegion
RegionRegionRegionRegionRegionregion aus allen Punkten bestimmt, die sich stark vom
Modell unterscheiden, d.h. für die gilt:
c(x,y) > t{u}(x,y) or c(x,y) < t{l}(x,y) .
Diese Modus ist also identisch zu compare_variation_modelcompare_variation_modelCompareVariationModelcompare_variation_modelCompareVariationModelCompareVariationModel.
Für ModeModeModeModeModemode = 'light'"light""light""light""light""light" besteht RegionRegionRegionRegionRegionregion aus
allen Punkten, die zu hell sind:
c(x,y) > t{u}(x,y) .
Für ModeModeModeModeModemode = 'dark'"dark""dark""dark""dark""dark" besteht RegionRegionRegionRegionRegionregion aus
allen Punkten, die zu dunkel sind:
c(x,y) < t{l}(x,y) .
Schließlich werden für ModeModeModeModeModemode = 'light_dark'"light_dark""light_dark""light_dark""light_dark""light_dark" in
RegionRegionRegionRegionRegionregion zwei Regionen zurückgeliefert. In der ersten
Region ist das Ergebnis von ModeModeModeModeModemode = 'light'"light""light""light""light""light", in
der zweiten Region das Ergebnis von ModeModeModeModeModemode =
'dark'"dark""dark""dark""dark""dark". Die jeweiligen Regionen können mit
select_objselect_objSelectObjselect_objSelectObjSelectObj selektiert werden.
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Automatisch parallelisiert auf Tupelebene.
- Automatisch parallelisiert auf Domainebene.
Bild des zu vergleichenden Objekts.
Region der Punkte, die sich stark vom Modell
unterscheiden.
ID des Variationsmodells.
Art des Vergleichs mit dem Variationsmodells.
Defaultwert:
'absolute'
"absolute"
"absolute"
"absolute"
"absolute"
"absolute"
Wertevorschläge: '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 liefert 2 (H_MSG_TRUE) zurück, wenn alle
Parameter korrekt sind und die internen Schwellwertbilder zuvor mit
prepare_variation_modelprepare_variation_modelPrepareVariationModelprepare_variation_modelPrepareVariationModelPrepareVariationModel oder
prepare_direct_variation_modelprepare_direct_variation_modelPrepareDirectVariationModelprepare_direct_variation_modelPrepareDirectVariationModelPrepareDirectVariationModel erzeugt worden sind.
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