prepare_direct_variation_model T_prepare_direct_variation_model PrepareDirectVariationModel PrepareDirectVariationModel prepare_direct_variation_model (Operator)
Name
prepare_direct_variation_model T_prepare_direct_variation_model PrepareDirectVariationModel PrepareDirectVariationModel prepare_direct_variation_model — Vorbereitung eines Variationsmodells zum Vergleich.
Signatur
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 )
Beschreibung
prepare_direct_variation_model prepare_direct_variation_model PrepareDirectVariationModel PrepareDirectVariationModel PrepareDirectVariationModel prepare_direct_variation_model bereitet ein Variationsmodell
zum Vergleich mit compare_variation_model compare_variation_model CompareVariationModel CompareVariationModel CompareVariationModel compare_variation_model oder
compare_ext_variation_model compare_ext_variation_model CompareExtVariationModel CompareExtVariationModel CompareExtVariationModel compare_ext_variation_model vor. Hierzu muss das Modell mit
Mode Mode Mode Mode mode mode ='direct' "direct" "direct" "direct" "direct" "direct" mit create_variation_model create_variation_model CreateVariationModel CreateVariationModel CreateVariationModel create_variation_model
erzeugt worden sein. Im Unterschied zu
prepare_variation_model prepare_variation_model PrepareVariationModel PrepareVariationModel PrepareVariationModel prepare_variation_model werden das ideale Bild und das
zugehörige Variationsbild nicht durch train_variation_model train_variation_model TrainVariationModel TrainVariationModel TrainVariationModel train_variation_model
berechnet, sondern in RefImage RefImage RefImage RefImage refImage ref_image und VarImage VarImage VarImage VarImage varImage var_image direkt
übergeben. Dies ist sinnvoll, wenn, wie bei
create_variation_model create_variation_model CreateVariationModel CreateVariationModel CreateVariationModel create_variation_model beschrieben, das Variationsmodell aus
einem Bild erzeugt werden soll. Das Variationsbild
VarImage VarImage VarImage VarImage varImage var_image sollte typischerweise mit Kantenoperatoren wie
sobel_amp sobel_amp SobelAmp SobelAmp SobelAmp sobel_amp , edges_image edges_image EdgesImage EdgesImage EdgesImage edges_image oder gray_range_rect gray_range_rect GrayRangeRect GrayRangeRect GrayRangeRect gray_range_rect
erzeugt werden.
prepare_direct_variation_model prepare_direct_variation_model PrepareDirectVariationModel PrepareDirectVariationModel PrepareDirectVariationModel prepare_direct_variation_model berechnet aus dem idealen
Bild RefImage RefImage RefImage RefImage refImage ref_image und dem Variationsbild VarImage VarImage VarImage VarImage varImage var_image zwei
interne Schwellenwertbilder und speichert sie im Variationsmodell ab.
Diese Schwellenwertbilder werden in compare_variation_model compare_variation_model CompareVariationModel CompareVariationModel CompareVariationModel compare_variation_model
oder compare_ext_variation_model compare_ext_variation_model CompareExtVariationModel CompareExtVariationModel CompareExtVariationModel compare_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 AbsThreshold AbsThreshold AbsThreshold AbsThreshold absThreshold abs_threshold gibt an, um
wie viele Graustufen sich das Bild des aktuellen Objektes mindestens
vom idealen Bild unterscheiden muss. Der Schwellenwert
VarThreshold VarThreshold VarThreshold VarThreshold varThreshold var_threshold gibt einen Faktor für den Unterschied des
aktuellen Bildes relativ zu der im Variationsbild gespeicherten
Variation des Objektes an.
VarThreshold VarThreshold VarThreshold VarThreshold varThreshold var_threshold legt mittels VarImage VarImage VarImage VarImage varImage var_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.
AbsThreshold AbsThreshold AbsThreshold AbsThreshold absThreshold abs_threshold und
VarThreshold VarThreshold VarThreshold VarThreshold varThreshold var_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 RefImage RefImage RefImage RefImage refImage ref_image ,
v(x,y) das Variationsbild VarImage VarImage VarImage VarImage varImage var_image ,
,
,
und
(bzw.
,
,
und
).
Dann werden die beiden Schwellenwertbilder
wie
folgt berechnet:
Wenn das aktuelle Bild c(x,y) mit
compare_variation_model compare_variation_model CompareVariationModel CompareVariationModel CompareVariationModel compare_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_model compare_ext_variation_model CompareExtVariationModel CompareExtVariationModel CompareExtVariationModel compare_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_model get_thresh_images_variation_model GetThreshImagesVariationModel GetThreshImagesVariationModel GetThreshImagesVariationModel get_thresh_images_variation_model ausgelesen werden.
Es ist zu beachten, dass RefImage RefImage RefImage RefImage refImage ref_image und VarImage VarImage VarImage VarImage varImage var_image
nicht als ideales Bild bzw. als Variationsbild im Modell
abgespeichert werden, um Speicherplatz im Modell zu sparen.
Ausführungsinformationen
Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
Wird ohne Parallelisierung verarbeitet.
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
RefImage RefImage RefImage RefImage refImage ref_image (input_object) singlechannelimage → object HImage HObject HImage Hobject (byte / int2 / uint2)
Referenzbild des Objektes.
VarImage VarImage VarImage VarImage varImage var_image (input_object) singlechannelimage → object HImage HObject HImage Hobject (byte / int2 / uint2)
Variationsbild des Objekts.
ModelID ModelID ModelID ModelID modelID model_id (input_control, Zustand wird modifiziert) variation_model → HVariationModel , HTuple HHandle HTuple Htuple (handle) (IntPtr ) (HHandle ) (handle )
ID des Variationsmodells.
AbsThreshold AbsThreshold AbsThreshold AbsThreshold absThreshold abs_threshold (input_control) number(-array) → HTuple MaybeSequence[Union[float, int]] HTuple Htuple (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
VarThreshold VarThreshold VarThreshold VarThreshold varThreshold var_threshold (input_control) number(-array) → HTuple MaybeSequence[Union[float, int]] HTuple Htuple (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_model prepare_direct_variation_model PrepareDirectVariationModel PrepareDirectVariationModel PrepareDirectVariationModel prepare_direct_variation_model liefert TRUE zurück, wenn
alle Parameter korrekt sind.
Vorgänger
sobel_amp sobel_amp SobelAmp SobelAmp SobelAmp sobel_amp ,
edges_image edges_image EdgesImage EdgesImage EdgesImage edges_image ,
gray_range_rect gray_range_rect GrayRangeRect GrayRangeRect GrayRangeRect gray_range_rect
Nachfolger
compare_variation_model compare_variation_model CompareVariationModel CompareVariationModel CompareVariationModel compare_variation_model ,
compare_ext_variation_model compare_ext_variation_model CompareExtVariationModel CompareExtVariationModel CompareExtVariationModel compare_ext_variation_model ,
get_thresh_images_variation_model get_thresh_images_variation_model GetThreshImagesVariationModel GetThreshImagesVariationModel GetThreshImagesVariationModel get_thresh_images_variation_model ,
write_variation_model write_variation_model WriteVariationModel WriteVariationModel WriteVariationModel write_variation_model
Alternativen
prepare_variation_model prepare_variation_model PrepareVariationModel PrepareVariationModel PrepareVariationModel prepare_variation_model
Siehe auch
create_variation_model create_variation_model CreateVariationModel CreateVariationModel CreateVariationModel create_variation_model
Modul
Matching