compare_variation_modelT_compare_variation_modelCompareVariationModelCompareVariationModelcompare_variation_model (Operator)

Name

compare_variation_modelT_compare_variation_modelCompareVariationModelCompareVariationModelcompare_variation_model — Vergleich eines Bildes mit einem Variationsmodell.

Signatur

compare_variation_model(Image : Region : ModelID : )

Herror T_compare_variation_model(const Hobject Image, Hobject* Region, const Htuple ModelID)

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

HRegion HVariationModel::CompareVariationModel(const HImage& Image) const

HRegion HImage::CompareVariationModel(const HVariationModel& ModelID) const

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

HRegion HVariationModel.CompareVariationModel(HImage image)

HRegion HImage.CompareVariationModel(HVariationModel modelID)

def compare_variation_model(image: HObject, model_id: HHandle) -> HObject

Beschreibung

compare_variation_modelcompare_variation_modelCompareVariationModelCompareVariationModelCompareVariationModelcompare_variation_model vergleicht das Eingabebild ImageImageImageImageimageimage mit dem Variationsmodell ModelIDModelIDModelIDModelIDmodelIDmodel_id. Bevor compare_variation_modelcompare_variation_modelCompareVariationModelCompareVariationModelCompareVariationModelcompare_variation_model aufgerufen werden kann, müssen mit prepare_variation_modelprepare_variation_modelPrepareVariationModelPrepareVariationModelPrepareVariationModelprepare_variation_model oder prepare_direct_variation_modelprepare_direct_variation_modelPrepareDirectVariationModelPrepareDirectVariationModelPrepareDirectVariationModelprepare_direct_variation_model die beiden internen Schwellenwertbilder erzeugt worden sein. Sei das aktuelle Bild ImageImageImageImageimageimage durch c(x,y) bezeichnet und die beiden internen Schwellenwertbilder mit (siehe prepare_variation_modelprepare_variation_modelPrepareVariationModelPrepareVariationModelPrepareVariationModelprepare_variation_model und prepare_direct_variation_modelprepare_direct_variation_modelPrepareDirectVariationModelPrepareDirectVariationModelPrepareDirectVariationModelprepare_direct_variation_model). Dann wird die Ausgaberegion RegionRegionRegionRegionregionregion 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_modelCompareExtVariationModelCompareExtVariationModelCompareExtVariationModelcompare_ext_variation_model verwendet werden.

Ausführungsinformationen

Parameter

ImageImageImageImageimageimage (input_object)  singlechannelimage(-array) objectHImageHObjectHImageHobject (byte / int2 / uint2)

Bild des zu vergleichenden Objekts.

RegionRegionRegionRegionregionregion (output_object)  region(-array) objectHRegionHObjectHRegionHobject *

Region der Punkte, die sich stark vom Modell unterscheiden.

ModelIDModelIDModelIDModelIDmodelIDmodel_id (input_control)  variation_model HVariationModel, HTupleHHandleHTupleHtuple (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_modelCompareVariationModelCompareVariationModelCompareVariationModelcompare_variation_model liefert TRUE zurück, wenn alle Parameter korrekt sind und die internen Schwellenwertbilder zuvor mit prepare_variation_modelprepare_variation_modelPrepareVariationModelPrepareVariationModelPrepareVariationModelprepare_variation_model oder prepare_direct_variation_modelprepare_direct_variation_modelPrepareDirectVariationModelPrepareDirectVariationModelPrepareDirectVariationModelprepare_direct_variation_model erzeugt worden sind.

Vorgänger

prepare_variation_modelprepare_variation_modelPrepareVariationModelPrepareVariationModelPrepareVariationModelprepare_variation_model, prepare_direct_variation_modelprepare_direct_variation_modelPrepareDirectVariationModelPrepareDirectVariationModelPrepareDirectVariationModelprepare_direct_variation_model

Nachfolger

connectionconnectionConnectionConnectionConnectionconnection

Alternativen

compare_ext_variation_modelcompare_ext_variation_modelCompareExtVariationModelCompareExtVariationModelCompareExtVariationModelcompare_ext_variation_model, dyn_thresholddyn_thresholdDynThresholdDynThresholdDynThresholddyn_threshold

Siehe auch

get_thresh_images_variation_modelget_thresh_images_variation_modelGetThreshImagesVariationModelGetThreshImagesVariationModelGetThreshImagesVariationModelget_thresh_images_variation_model

Modul

Matching