| Operatoren |
train_variation_model — Trainieren eines Variationsmodells.
train_variation_model trainiert das durch ModelID angegebene Variationsmodell mit einem oder mehreren Bildern, die in Images übergeben werden.
Wie bei create_variation_model beschrieben, kann ein Variationsmodell, das mit dem Modus 'standard' erzeugt worden ist, iterativ trainiert werden kann, d.h. sobald ein oder mehrere Bilder eines guten Objektes vorliegen, können diese mit train_variation_model trainiert werden. Das ideale Bild des Objektes wird in diesem Modus aus dem Mittelwert aller bisherigen Trainingsbilder und den Bildern, die in Images übergeben werden, berechnet. Das zugehörige Variationsbild wird aus der Standardabweichung der Trainingsbilder und der Bilder, die in Images übergeben werden, berechnet.
Falls das Variationsmodell mit dem Modus 'robust' erzeugt worden ist, kann das Modell nicht iterativ trainiert werden, d.h. alle Trainingsbilder müssen mit concat_obj aufgesammelt werden und in einem Aufruf von train_variation_model trainiert werden. Falls zuvor schon Bilder trainiert worden sind, geht die Trainingsinformation verloren. Das ideale Bild des Objektes wird in diesem Modus aus dem Median aller in Images übergebenen Trainingsbilder berechnet. Das zugehörige Variationsbild wird aus dem Median der absoluten Abweichungen der Trainingsbilder vom Median berechnet und geeignet skaliert.
Es können maximal 65535 Trainingsbilder trainiert werden.
Dieser Operator modifiziert den Zustand des folgenden Eingabeparameters:
Der Wert dieses Parameters darf nicht über mehrere Threads verwendet werden.Bilder des zu trainierenden Objekts.
ID des Variationsmodells.
open_framegrabber ('File', 1, 1, 0, 0, 0, 0, 'default', -1, \
'default', -1, 'default', 'model.seq', 'default', \
-1, -1, AcqHandle)
grab_image (Image, AcqHandle)
get_image_pointer1 (Image, Pointer, Type, Width, Height)
dev_display (Image)
draw_region (Region, WindowHandle)
reduce_domain (Image, Region, ImageReduced)
area_center (Region, Area, RowRef, ColumnRef)
create_shape_model (ImageReduced, 4, 0, rad(360), rad(1), 'none', \
'use_polarity', 40, 10, TemplateID)
create_variation_model (Width, Height, Type, 'standard', ModelID)
for K := 1 to 100 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)
if (|Score| == 1)
vector_angle_to_rigid (Row, Column, Angle, RowRef, \
ColumnRef, 0, HomMat2D)
affine_trans_image (Image, ImageTrans, HomMat2D, 'constant', \
'false')
train_variation_model (ImageTrans, ModelID)
endif
endfor
prepare_variation_model (ModelID, 10, 4)
write_region (Region, 'model.reg')
write_shape_model (TemplateID, 'model.shm')
write_variation_model (ModelID, 'model.var')
clear_shape_model (TemplateID)
clear_variation_model (ModelID)
close_framegrabber (AcqHandle)
train_variation_model liefert 2 (H_MSG_TRUE) zurück, wenn alle Parameter korrekt sind.
create_variation_model, find_shape_model, affine_trans_image, concat_obj
prepare_variation_model, compare_variation_model, compare_ext_variation_model, clear_variation_model
Matching
| Operatoren |