KlassenKlassenKlassenKlassen | | | | Operatoren

compare_ext_variation_modelcompare_ext_variation_modelCompareExtVariationModelcompare_ext_variation_modelCompareExtVariationModelCompareExtVariationModel (Operator)

Name

compare_ext_variation_modelcompare_ext_variation_modelCompareExtVariationModelcompare_ext_variation_modelCompareExtVariationModelCompareExtVariationModel — Vergleich eines Bildes mit einem Variationsmodell.

Signatur

compare_ext_variation_model(Image : Region : ModelID, Mode : )

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)

Herror compare_ext_variation_model(Hobject Image, Hobject* Region, const HTuple& ModelID, const HTuple& Mode)

HRegion HImage::CompareExtVariationModel(const HVariationModel& ModelID, const HTuple& Mode) const

HRegionArray HImageArray::CompareExtVariationModel(const HVariationModel& ModelID, const HTuple& Mode) const

HRegionArray HVariationModel::CompareExtVariationModel(const HImageArray& Image, const HTuple& Mode) const

void CompareExtVariationModel(const HObject& Image, HObject* Region, const HTuple& ModelID, const HTuple& Mode)

HRegion HVariationModel::CompareExtVariationModel(const HImage& Image, const HString& Mode) const

HRegion HVariationModel::CompareExtVariationModel(const HImage& Image, const char* Mode) const

HRegion HImage::CompareExtVariationModel(const HVariationModel& ModelID, const HString& Mode) const

HRegion HImage::CompareExtVariationModel(const HVariationModel& ModelID, const char* Mode) const

void HOperatorSetX.CompareExtVariationModel(
[in] IHUntypedObjectX* Image, [out] IHUntypedObjectX*Region, [in] VARIANT ModelID, [in] VARIANT Mode)

IHRegionX* HVariationModelX.CompareExtVariationModel(
[in] IHImageX* Image, [in] BSTR Mode)

IHRegionX* HImageX.CompareExtVariationModel(
[in] IHVariationModelX* ModelID, [in] BSTR Mode)

static void HOperatorSet.CompareExtVariationModel(HObject image, out HObject region, HTuple modelID, HTuple mode)

HRegion HVariationModel.CompareExtVariationModel(HImage image, string mode)

HRegion HImage.CompareExtVariationModel(HVariationModel modelID, string mode)

Beschreibung

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 (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:

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:
Für ModeModeModeModeModemode = 'dark'"dark""dark""dark""dark""dark" besteht RegionRegionRegionRegionRegionregion aus allen Punkten, die zu dunkel sind:
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.

Parallelisierung

Parameter

ImageImageImageImageImageimage (input_object)  singlechannelimage(-array) objectHImageHImageHImageHImageXHobject (byte / int2 / uint2)

Bild des zu vergleichenden Objekts.

RegionRegionRegionRegionRegionregion (output_object)  region(-array) objectHRegionHRegionHRegionHRegionXHobject *

Region der Punkte, die sich stark vom Modell unterscheiden.

ModelIDModelIDModelIDModelIDModelIDmodelID (input_control)  variation_model HVariationModel, HTupleHTupleHVariationModel, HTupleHVariationModelX, VARIANTHtuple (integer) (IntPtr) (Hlong) (Hlong) (Hlong) (Hlong)

ID des Variationsmodells.

ModeModeModeModeModemode (input_control)  string HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (char*)

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"

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_ext_variation_model (ImageTrans, RegionDiff, ModelID, \
                                     'light')
        dev_display (RegionDiff)
    endif
endfor
clear_shape_model (TemplateID)
clear_variation_model (ModelID)
close_framegrabber (AcqHandle)

Ergebnis

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.

Vorgänger

prepare_variation_modelprepare_variation_modelPrepareVariationModelprepare_variation_modelPrepareVariationModelPrepareVariationModel, prepare_direct_variation_modelprepare_direct_variation_modelPrepareDirectVariationModelprepare_direct_variation_modelPrepareDirectVariationModelPrepareDirectVariationModel

Nachfolger

select_objselect_objSelectObjselect_objSelectObjSelectObj, connectionconnectionConnectionconnectionConnectionConnection

Alternativen

compare_variation_modelcompare_variation_modelCompareVariationModelcompare_variation_modelCompareVariationModelCompareVariationModel, dyn_thresholddyn_thresholdDynThresholddyn_thresholdDynThresholdDynThreshold

Siehe auch

get_thresh_images_variation_modelget_thresh_images_variation_modelGetThreshImagesVariationModelget_thresh_images_variation_modelGetThreshImagesVariationModelGetThreshImagesVariationModel

Modul

Matching


KlassenKlassenKlassenKlassen | | | | Operatoren