compare_variation_modelT_compare_variation_modelCompareVariationModelCompareVariationModel (Operator)
Name
compare_variation_modelT_compare_variation_modelCompareVariationModelCompareVariationModel
— Vergleich eines Bildes mit einem Variationsmodell.
Signatur
Herror T_compare_variation_model(const Hobject Image, Hobject* Region, const Htuple ModelID)
Beschreibung
compare_variation_modelcompare_variation_modelCompareVariationModelCompareVariationModelCompareVariationModel
vergleicht das Eingabebild
ImageImageImageImageimage
mit dem Variationsmodell ModelIDModelIDModelIDModelIDmodelID
. Bevor
compare_variation_modelcompare_variation_modelCompareVariationModelCompareVariationModelCompareVariationModel
aufgerufen werden kann, müssen mit
prepare_variation_modelprepare_variation_modelPrepareVariationModelPrepareVariationModelPrepareVariationModel
oder
prepare_direct_variation_modelprepare_direct_variation_modelPrepareDirectVariationModelPrepareDirectVariationModelPrepareDirectVariationModel
die beiden internen
Schwellwertbilder erzeugt worden sein. Sei das aktuelle Bild
ImageImageImageImageimage
durch c(x,y) bezeichnet und die beiden
internen Schwellwertbilder mit (siehe
prepare_variation_modelprepare_variation_modelPrepareVariationModelPrepareVariationModelPrepareVariationModel
und
prepare_direct_variation_modelprepare_direct_variation_modelPrepareDirectVariationModelPrepareDirectVariationModelPrepareDirectVariationModel
). Dann wird die
Ausgaberegion RegionRegionRegionRegionregion
aus allen Punkten bestimmt, die sich
stark vom Modell unterscheiden, d.h. für die gilt:
Falls nur zu helle oder zu dunkle Fehler segmentiert werden sollen,
kann der Operator compare_ext_variation_modelcompare_ext_variation_modelCompareExtVariationModelCompareExtVariationModelCompareExtVariationModel
verwendet
werden.
Ausführungsinformationen
- 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.
Parameter
ImageImageImageImageimage
(input_object) singlechannelimage(-array) →
objectHImageHImageHobject (byte / int2 / uint2)
Bild des zu vergleichenden Objekts.
RegionRegionRegionRegionregion
(output_object) region(-array) →
objectHRegionHRegionHobject *
Region der Punkte, die sich stark vom Modell
unterscheiden.
ModelIDModelIDModelIDModelIDmodelID
(input_control) variation_model →
HVariationModel, HTupleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)
ID des Variationsmodells.
Beispiel (HDevelop)
open_framegrabber ('File', 1, 1, 0, 0, 0, 0, 'default', -1, \
'default', -1, 'default', 'testimages.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)
dev_display (Image)
if (|Score| == 1)
vector_angle_to_rigid (Row, Column, Angle, RowRef, \
ColumnRef, 0, HomMat2D)
affine_trans_image (Image, ImageTrans, HomMat2D, 'constant', \
'false')
compare_variation_model (ImageTrans, RegionDiff, ModelID)
dev_display (RegionDiff)
endif
endfor
close_framegrabber (AcqHandle)
Ergebnis
compare_variation_modelcompare_variation_modelCompareVariationModelCompareVariationModelCompareVariationModel
liefert 2 (H_MSG_TRUE) zurück, wenn alle
Parameter korrekt sind und die internen Schwellwertbilder zuvor mit
prepare_variation_modelprepare_variation_modelPrepareVariationModelPrepareVariationModelPrepareVariationModel
oder
prepare_direct_variation_modelprepare_direct_variation_modelPrepareDirectVariationModelPrepareDirectVariationModelPrepareDirectVariationModel
erzeugt worden sind.
Vorgänger
prepare_variation_modelprepare_variation_modelPrepareVariationModelPrepareVariationModelPrepareVariationModel
,
prepare_direct_variation_modelprepare_direct_variation_modelPrepareDirectVariationModelPrepareDirectVariationModelPrepareDirectVariationModel
Nachfolger
connectionconnectionConnectionConnectionConnection
Alternativen
compare_ext_variation_modelcompare_ext_variation_modelCompareExtVariationModelCompareExtVariationModelCompareExtVariationModel
,
dyn_thresholddyn_thresholdDynThresholdDynThresholdDynThreshold
Siehe auch
get_thresh_images_variation_modelget_thresh_images_variation_modelGetThreshImagesVariationModelGetThreshImagesVariationModelGetThreshImagesVariationModel
Modul
Matching