prepare_direct_variation_modelT_prepare_direct_variation_modelPrepareDirectVariationModelPrepareDirectVariationModelprepare_direct_variation_model (Operator)

Name

prepare_direct_variation_modelT_prepare_direct_variation_modelPrepareDirectVariationModelPrepareDirectVariationModelprepare_direct_variation_model — Vorbereitung eines Variationsmodells zum Vergleich.

Signatur

prepare_direct_variation_model(RefImage, VarImage : : ModelID, AbsThreshold, VarThreshold : )

Herror T_prepare_direct_variation_model(const Hobject RefImage, const Hobject VarImage, const Htuple ModelID, const Htuple AbsThreshold, const Htuple VarThreshold)

void PrepareDirectVariationModel(const HObject& RefImage, const HObject& VarImage, const HTuple& ModelID, const HTuple& AbsThreshold, const HTuple& VarThreshold)

void HVariationModel::PrepareDirectVariationModel(const HImage& RefImage, const HImage& VarImage, const HTuple& AbsThreshold, const HTuple& VarThreshold) const

void HVariationModel::PrepareDirectVariationModel(const HImage& RefImage, const HImage& VarImage, double AbsThreshold, double VarThreshold) const

static void HOperatorSet.PrepareDirectVariationModel(HObject refImage, HObject varImage, HTuple modelID, HTuple absThreshold, HTuple varThreshold)

void HVariationModel.PrepareDirectVariationModel(HImage refImage, HImage varImage, HTuple absThreshold, HTuple varThreshold)

void HVariationModel.PrepareDirectVariationModel(HImage refImage, HImage varImage, double absThreshold, double varThreshold)

def prepare_direct_variation_model(ref_image: HObject, var_image: HObject, model_id: HHandle, abs_threshold: MaybeSequence[Union[float, int]], var_threshold: MaybeSequence[Union[float, int]]) -> None

Beschreibung

prepare_direct_variation_modelprepare_direct_variation_modelPrepareDirectVariationModelPrepareDirectVariationModelPrepareDirectVariationModelprepare_direct_variation_model bereitet ein Variationsmodell zum Vergleich mit compare_variation_modelcompare_variation_modelCompareVariationModelCompareVariationModelCompareVariationModelcompare_variation_model oder compare_ext_variation_modelcompare_ext_variation_modelCompareExtVariationModelCompareExtVariationModelCompareExtVariationModelcompare_ext_variation_model vor. Hierzu muss das Modell mit ModeModeModeModemodemode='direct'"direct""direct""direct""direct""direct" mit create_variation_modelcreate_variation_modelCreateVariationModelCreateVariationModelCreateVariationModelcreate_variation_model erzeugt worden sein. Im Unterschied zu prepare_variation_modelprepare_variation_modelPrepareVariationModelPrepareVariationModelPrepareVariationModelprepare_variation_model werden das ideale Bild und das zugehörige Variationsbild nicht durch train_variation_modeltrain_variation_modelTrainVariationModelTrainVariationModelTrainVariationModeltrain_variation_model berechnet, sondern in RefImageRefImageRefImageRefImagerefImageref_image und VarImageVarImageVarImageVarImagevarImagevar_image direkt übergeben. Dies ist sinnvoll, wenn, wie bei create_variation_modelcreate_variation_modelCreateVariationModelCreateVariationModelCreateVariationModelcreate_variation_model beschrieben, das Variationsmodell aus einem Bild erzeugt werden soll. Das Variationsbild VarImageVarImageVarImageVarImagevarImagevar_image sollte typischerweise mit Kantenoperatoren wie sobel_ampsobel_ampSobelAmpSobelAmpSobelAmpsobel_amp, edges_imageedges_imageEdgesImageEdgesImageEdgesImageedges_image oder gray_range_rectgray_range_rectGrayRangeRectGrayRangeRectGrayRangeRectgray_range_rect erzeugt werden.

prepare_direct_variation_modelprepare_direct_variation_modelPrepareDirectVariationModelPrepareDirectVariationModelPrepareDirectVariationModelprepare_direct_variation_model berechnet aus dem idealen Bild RefImageRefImageRefImageRefImagerefImageref_image und dem Variationsbild VarImageVarImageVarImageVarImagevarImagevar_image zwei interne Schwellenwertbilder und speichert sie im Variationsmodell ab. Diese Schwellenwertbilder werden in compare_variation_modelcompare_variation_modelCompareVariationModelCompareVariationModelCompareVariationModelcompare_variation_model oder compare_ext_variation_modelcompare_ext_variation_modelCompareExtVariationModelCompareExtVariationModelCompareExtVariationModelcompare_ext_variation_model verwendet, um den Vergleich des aktuellen Bildes mit dem Variationsmodell durchzuführen.

Zur Berechnung der Schwellenwertbilder werden zwei Schwellenwerte verwendet. Der Schwellenwert AbsThresholdAbsThresholdAbsThresholdAbsThresholdabsThresholdabs_threshold gibt an, um wie viele Graustufen sich das Bild des aktuellen Objektes mindestens vom idealen Bild unterscheiden muss. Der Schwellenwert VarThresholdVarThresholdVarThresholdVarThresholdvarThresholdvar_threshold gibt einen Faktor für den Unterschied des aktuellen Bildes relativ zu der im Variationsbild gespeicherten Variation des Objektes an. VarThresholdVarThresholdVarThresholdVarThresholdvarThresholdvar_threshold legt mittels VarImageVarImageVarImageVarImagevarImagevar_image Regionen fest, in denen Unterschiede in den Grauwerten auftreten dürfen, die nicht als Fehler gezählt werden sollen. Dadurch werden Abweichungen in bestimmten Bereichen des zu prüfenden Objekts erlaubt. AbsThresholdAbsThresholdAbsThresholdAbsThresholdabsThresholdabs_threshold und VarThresholdVarThresholdVarThresholdVarThresholdvarThresholdvar_threshold können jeweils einen oder zwei Werte enthalten. Falls zwei Werte angegeben werden, können unterschiedliche Schwellen für zu helle und zu dunkle Pixel festgelegt werden. Dabei bezieht sich der erste Wert auf die zu hellen Grauwerte und der zweite Wert auf die zu dunklen Grauwerte. Falls nur ein Wert angegeben wird, bezieht sich der Wert sowohl auf die zu hellen als auch auf die zu dunklen Grauwerte. Sei i(x,y) das ideale Bild RefImageRefImageRefImageRefImagerefImageref_image, v(x,y) das Variationsbild VarImageVarImageVarImageVarImagevarImagevar_image, , , und (bzw. , , und ). Dann werden die beiden Schwellenwertbilder wie folgt berechnet: Wenn das aktuelle Bild c(x,y) mit compare_variation_modelcompare_variation_modelCompareVariationModelCompareVariationModelCompareVariationModelcompare_variation_model mit dem Variationsmodell verglichen wird, wird die Ausgaberegion aus allen Punkten bestimmt, die sich stark vom Modell unterscheiden, d.h. für die gilt: In compare_ext_variation_modelcompare_ext_variation_modelCompareExtVariationModelCompareExtVariationModelCompareExtVariationModelcompare_ext_variation_model stehen erweiterte Vergleichsmodi zur Verfügung, mit denen zusätzlich nur zu helle Fehler, nur zu dunkle Fehler und zu helle und zu dunkle Fehler als separate Regionen zurückgeliefert werden können.

Nachdem die Schwellenwertbilder erzeugt worden sind, können sie mit get_thresh_images_variation_modelget_thresh_images_variation_modelGetThreshImagesVariationModelGetThreshImagesVariationModelGetThreshImagesVariationModelget_thresh_images_variation_model ausgelesen werden.

Es ist zu beachten, dass RefImageRefImageRefImageRefImagerefImageref_image und VarImageVarImageVarImageVarImagevarImagevar_image nicht als ideales Bild bzw. als Variationsbild im Modell abgespeichert werden, um Speicherplatz im Modell zu sparen.

Ausführungsinformationen

Dieser Operator modifiziert den Zustand des folgenden Eingabeparameters:

Während der Ausführung dieses Operators muss der Zugriff auf den Wert dieses Parameters synchronisiert werden, wenn er über mehrere Threads hinweg verwendet wird.

Parameter

RefImageRefImageRefImageRefImagerefImageref_image (input_object)  singlechannelimage objectHImageHObjectHImageHobject (byte / int2 / uint2)

Referenzbild des Objektes.

VarImageVarImageVarImageVarImagevarImagevar_image (input_object)  singlechannelimage objectHImageHObjectHImageHobject (byte / int2 / uint2)

Variationsbild des Objekts.

ModelIDModelIDModelIDModelIDmodelIDmodel_id (input_control, Zustand wird modifiziert)  variation_model HVariationModel, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

ID des Variationsmodells.

AbsThresholdAbsThresholdAbsThresholdAbsThresholdabsThresholdabs_threshold (input_control)  number(-array) HTupleMaybeSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Absoluter Mindestschwellenwert für die Unterschiede bezüglich des Variationsmodells.

Defaultwert: 10

Wertevorschläge: 0, 5, 10, 15, 20, 30, 40, 50

Restriktion: AbsThreshold >= 0

VarThresholdVarThresholdVarThresholdVarThresholdvarThresholdvar_threshold (input_control)  number(-array) HTupleMaybeSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Schwellenwert für die Unterschiede bezüglich der Variation des Variationsmodells.

Defaultwert: 2

Wertevorschläge: 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5

Restriktion: VarThreshold >= 0

Beispiel (HDevelop)

read_image (Image, 'model')
sobel_amp (Image, VarImage, 'sum_abs', 3)
get_image_pointer1 (Image, Pointer, Type, Width, Height)
create_variation_model (Width, Height, Type, 'direct', ModelID)
prepare_direct_variation_model (Image, VarImage, ModelID, 20, 1)
write_variation_model (ModelID, 'model.var')

Ergebnis

prepare_direct_variation_modelprepare_direct_variation_modelPrepareDirectVariationModelPrepareDirectVariationModelPrepareDirectVariationModelprepare_direct_variation_model liefert TRUE zurück, wenn alle Parameter korrekt sind.

Vorgänger

sobel_ampsobel_ampSobelAmpSobelAmpSobelAmpsobel_amp, edges_imageedges_imageEdgesImageEdgesImageEdgesImageedges_image, gray_range_rectgray_range_rectGrayRangeRectGrayRangeRectGrayRangeRectgray_range_rect

Nachfolger

compare_variation_modelcompare_variation_modelCompareVariationModelCompareVariationModelCompareVariationModelcompare_variation_model, compare_ext_variation_modelcompare_ext_variation_modelCompareExtVariationModelCompareExtVariationModelCompareExtVariationModelcompare_ext_variation_model, get_thresh_images_variation_modelget_thresh_images_variation_modelGetThreshImagesVariationModelGetThreshImagesVariationModelGetThreshImagesVariationModelget_thresh_images_variation_model, write_variation_modelwrite_variation_modelWriteVariationModelWriteVariationModelWriteVariationModelwrite_variation_model

Alternativen

prepare_variation_modelprepare_variation_modelPrepareVariationModelPrepareVariationModelPrepareVariationModelprepare_variation_model

Siehe auch

create_variation_modelcreate_variation_modelCreateVariationModelCreateVariationModelCreateVariationModelcreate_variation_model

Modul

Matching