compare_ext_variation_model T_compare_ext_variation_model CompareExtVariationModel CompareExtVariationModel (Operator)
Name
compare_ext_variation_model T_compare_ext_variation_model CompareExtVariationModel CompareExtVariationModel
— Vergleich eines Bildes mit einem Variationsmodell.
Signatur
Herror T_compare_ext_variation_model (const Hobject Image , Hobject* Region , const Htuple ModelID , const Htuple Mode )
Beschreibung
compare_ext_variation_model compare_ext_variation_model CompareExtVariationModel CompareExtVariationModel CompareExtVariationModel
vergleicht das Eingabebild
Image Image Image Image image
mit dem Variationsmodell ModelID ModelID ModelID ModelID modelID
.
compare_ext_variation_model compare_ext_variation_model CompareExtVariationModel CompareExtVariationModel CompareExtVariationModel
ist eine Erweiterung von
compare_variation_model compare_variation_model CompareVariationModel CompareVariationModel CompareVariationModel
, die mehr Modi zum Bildvergleich
bietet. Bevor compare_ext_variation_model compare_ext_variation_model CompareExtVariationModel CompareExtVariationModel CompareExtVariationModel
aufgerufen werden
kann, müssen mit prepare_variation_model prepare_variation_model PrepareVariationModel PrepareVariationModel PrepareVariationModel
oder
prepare_direct_variation_model prepare_direct_variation_model PrepareDirectVariationModel PrepareDirectVariationModel PrepareDirectVariationModel
die beiden internen
Schwellwertbilder erzeugt worden sein. Sei das aktuelle Bild
Image Image Image Image image
durch c(x,y) bezeichnet und die beiden
internen Schwellwertbilder mit
(siehe
prepare_variation_model prepare_variation_model PrepareVariationModel PrepareVariationModel PrepareVariationModel
oder
prepare_direct_variation_model prepare_direct_variation_model PrepareDirectVariationModel PrepareDirectVariationModel PrepareDirectVariationModel
). Dann wird für
Mode Mode Mode Mode mode
= 'absolute' "absolute" "absolute" "absolute" "absolute" die Ausgaberegion
Region Region Region Region region
aus allen Punkten bestimmt, die sich stark vom
Modell unterscheiden, d.h. für die gilt:
Diese Modus ist also identisch zu compare_variation_model compare_variation_model CompareVariationModel CompareVariationModel CompareVariationModel
.
Für Mode Mode Mode Mode mode
= 'light' "light" "light" "light" "light" besteht Region Region Region Region region
aus
allen Punkten, die zu hell sind:
Für Mode Mode Mode Mode mode
= 'dark' "dark" "dark" "dark" "dark" besteht Region Region Region Region region
aus
allen Punkten, die zu dunkel sind:
Schließlich werden für Mode Mode Mode Mode mode
= 'light_dark' "light_dark" "light_dark" "light_dark" "light_dark" in
Region Region Region Region region
zwei Regionen zurückgeliefert. In der ersten
Region ist das Ergebnis von Mode Mode Mode Mode mode
= 'light' "light" "light" "light" "light" , in
der zweiten Region das Ergebnis von Mode Mode Mode Mode mode
=
'dark' "dark" "dark" "dark" "dark" . Die jeweiligen Regionen können mit
select_obj select_obj SelectObj SelectObj SelectObj
selektiert werden.
Ausführungsinformationen
Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
Automatisch parallelisiert auf Tupelebene.
Automatisch parallelisiert auf Domainebene.
Parameter
Image Image Image Image image
(input_object) singlechannelimage(-array) →
object HImage HImage Hobject (byte / int2 / uint2)
Bild des zu vergleichenden Objekts.
Region Region Region Region region
(output_object) region(-array) →
object HRegion HRegion Hobject *
Region der Punkte, die sich stark vom Modell
unterscheiden.
ModelID ModelID ModelID ModelID modelID
(input_control) variation_model →
HVariationModel , HTuple HTuple Htuple (handle) (IntPtr ) (HHandle ) (handle )
ID des Variationsmodells.
Mode Mode Mode Mode mode
(input_control) string →
HTuple HTuple Htuple (string) (string ) (HString ) (char* )
Art des Vergleichs mit dem Variationsmodells.
Defaultwert:
'absolute'
"absolute"
"absolute"
"absolute"
"absolute"
Wertevorschläge: 'absolute' "absolute" "absolute" "absolute" "absolute" , 'light' "light" "light" "light" "light" , 'dark' "dark" "dark" "dark" "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
close_framegrabber (AcqHandle)
Ergebnis
compare_ext_variation_model compare_ext_variation_model CompareExtVariationModel CompareExtVariationModel CompareExtVariationModel
liefert 2 (H_MSG_TRUE) zurück, wenn alle
Parameter korrekt sind und die internen Schwellwertbilder zuvor mit
prepare_variation_model prepare_variation_model PrepareVariationModel PrepareVariationModel PrepareVariationModel
oder
prepare_direct_variation_model prepare_direct_variation_model PrepareDirectVariationModel PrepareDirectVariationModel PrepareDirectVariationModel
erzeugt worden sind.
Vorgänger
prepare_variation_model prepare_variation_model PrepareVariationModel PrepareVariationModel PrepareVariationModel
,
prepare_direct_variation_model prepare_direct_variation_model PrepareDirectVariationModel PrepareDirectVariationModel PrepareDirectVariationModel
Nachfolger
select_obj select_obj SelectObj SelectObj SelectObj
,
connection connection Connection Connection Connection
Alternativen
compare_variation_model compare_variation_model CompareVariationModel CompareVariationModel CompareVariationModel
,
dyn_threshold dyn_threshold DynThreshold DynThreshold DynThreshold
Siehe auch
get_thresh_images_variation_model get_thresh_images_variation_model GetThreshImagesVariationModel GetThreshImagesVariationModel GetThreshImagesVariationModel
Modul
Matching