Name
set_stereo_model_paramT_set_stereo_model_paramSetStereoModelParamset_stereo_model_paramSetStereoModelParamSetStereoModelParam — Parameter eines Stereomodells setzen.
Mit dem Operator set_stereo_model_paramset_stereo_model_paramSetStereoModelParamset_stereo_model_paramSetStereoModelParamSetStereoModelParam können
diverse Parameter im Stereomodell StereoModelIDStereoModelIDStereoModelIDStereoModelIDStereoModelIDstereoModelID gesetzt werden.
Dabei werden zwei Typen von Parametern unterschieden: generische Parameter
bzw. spezifische Oberflächenrekonstruktionsparameter.
Generische Parameter:
Je nach Auswahl im ParamNameParamNameParamNameParamNameParamNameparamName können die folgenden generischen
Modellparameter auf den Wert im Parameter ParamValueParamValueParamValueParamValueParamValueparamValue gesetzt werden:
- 'bounding_box'"bounding_box""bounding_box""bounding_box""bounding_box""bounding_box":
-
Durch Übergabe des Tupels [x1,y1,z1,x2,y2,z2] können
die zwei gegenüberliegenden Eckpunkte P1=[x1,y1,z1] bzw.
P2=[x2,y2,z2] des kleinsten umschließenden Quaders für
die Stereorekonstruktion übergeben werden.
Dieser Quader ist achsenparallel im Koordinatensystem
des Kamerasetups definiert (vorgegeben mit dem Handle
CameraSetupModelID beim Erstellen des Stereomodells
mit create_stereo_modelcreate_stereo_modelCreateStereoModelcreate_stereo_modelCreateStereoModelCreateStereoModel). Der entsprechende
Rekonstruktionsalgorithmus schneidet Rekonstruktionsergebnisse
weg, welche außerhalb dieses Quaders liegen.
Darüber hinaus wird der umschließende Quader vom Operator
reconstruct_surface_stereoreconstruct_surface_stereoReconstructSurfaceStereoreconstruct_surface_stereoReconstructSurfaceStereoReconstructSurfaceStereo benötigt, um den Disparitätsbereich
einzelner Bildpaare bestimmen zu können (siehe
set_stereo_model_image_pairsset_stereo_model_image_pairsSetStereoModelImagePairsset_stereo_model_image_pairsSetStereoModelImagePairsSetStereoModelImagePairs für weitere Informationen).
Bei einem gültigen Quader liegt der Punkt P1 an der Ecke
vorne links unten und der Punkt P2 hinten rechts oben; d.h.
x1<x2, y1<y2 und z1<z2. Während
die Oberflächenrekonstruktion bei ungültigen Quadereinstellung abbricht
und einen Fehler zurückgibt, wird der
Punktrekonstruktionsalgorithmus einen ungültigen Quader einfach auslassen
und wird alle Punkte rekonstruieren, die er kann. Daher kann das
Abschneiden von 3D-Punkten ausgeschaltet werden, indem ein
Tupel [0,0,0,0,0,-1] als kleinster umschließender Quader
eingegeben wird.
Es ist zu beachten, dass 'bounding_box'"bounding_box""bounding_box""bounding_box""bounding_box""bounding_box" ein tupelwertiger
Parameter ist und daher nicht zusammen mit anderen Parametern in einem
Aufruf des Operators set_stereo_model_paramset_stereo_model_paramSetStereoModelParamset_stereo_model_paramSetStereoModelParamSetStereoModelParam gesetzt werden
kann (siehe den Paragraph "Bemerkung über tupelwertige
Modellparameter" unten).
Tupelformat: [x1,y1,z1,x2,y2,z2]
- 'persistence'"persistence""persistence""persistence""persistence""persistence":
-
Schaltet den 'persistence'"persistence""persistence""persistence""persistence""persistence"-Modus des
Stereomodells ein (ParamValueParamValueParamValueParamValueParamValueparamValue=1) oder aus
(ParamValueParamValueParamValueParamValueParamValueparamValue=0).
In diesem Modus speichert das Modell Zwischenergebnisse
des Rekonstruktionsverfahren (zur Zeit nur für
reconstruct_surface_stereoreconstruct_surface_stereoReconstructSurfaceStereoreconstruct_surface_stereoReconstructSurfaceStereoReconstructSurfaceStereo), die im Nachhinein mit dem
Operator get_stereo_model_objectget_stereo_model_objectGetStereoModelObjectget_stereo_model_objectGetStereoModelObjectGetStereoModelObject abgefragt werden können.
Es ist zu beachten, dass das Modell in diesem Modus einen erheblichen
Speicherbedarf in aufweisen kann. Das kann die Leistung des
Rekonstruktionsalgorithmus mindern oder sogar dazu führen, dass kein
Speicher mehr angefordert werden kann. Das kann insbesondere der Fall
sein bei Kamerasetups mit besonders vielen Kameras und/oder großen
Bildern. Dementsprechend ist es empfehlenswert, den Modus nur
zu Testzwecken einzuschalten und nur für kleine Datenmengen.
Werteliste: 0 (Standardwert), 1
Parameter für Oberflächenrekonstruktion:
Je nach Auswahl in ParamNameParamNameParamNameParamNameParamNameparamName können die folgenden
Parameter der Oberflächenrekonstruktion (d.h. für Modelle des Typs
'surface_pairwise'"surface_pairwise""surface_pairwise""surface_pairwise""surface_pairwise""surface_pairwise") zusätzlich mit dem Parameter
ParamValueParamValueParamValueParamValueParamValueparamValue gesetzt werden:
- 'rectif_interpolation'"rectif_interpolation""rectif_interpolation""rectif_interpolation""rectif_interpolation""rectif_interpolation":
-
Interpolationsmodus für die Bildpaarrektifizierung (siehe
set_stereo_model_image_pairsset_stereo_model_image_pairsSetStereoModelImagePairsset_stereo_model_image_pairsSetStereoModelImagePairsSetStereoModelImagePairs). Es ist zu beachten, dass,
nach Änderung dieser Einstellung der Operator
set_stereo_model_image_pairsset_stereo_model_image_pairsSetStereoModelImagePairsset_stereo_model_image_pairsSetStereoModelImagePairsSetStereoModelImagePairs erneut aufgerufen werden muss,
um diese Einstellung wirksam werden zu lassen.
Werteliste: 'none'"none""none""none""none""none" (Standardwert),
'bilinear'"bilinear""bilinear""bilinear""bilinear""bilinear"
- 'rectif_sub_sampling'"rectif_sub_sampling""rectif_sub_sampling""rectif_sub_sampling""rectif_sub_sampling""rectif_sub_sampling":
-
Abtastfaktor für die Bildpaarrektifizierung (siehe
set_stereo_model_image_pairsset_stereo_model_image_pairsSetStereoModelImagePairsset_stereo_model_image_pairsSetStereoModelImagePairsSetStereoModelImagePairs). Es ist zu beachten, dass,
nach Änderung dieser Einstellung der Operator
set_stereo_model_image_pairsset_stereo_model_image_pairsSetStereoModelImagePairsset_stereo_model_image_pairsSetStereoModelImagePairsSetStereoModelImagePairs erneut aufgerufen werden muss,
um diese Einstellung wirksam werden zu lassen.
Wertevorschläge: 0.5, 0.66, 1.0
(Standardwert), 1.5,
2.0, 3.0, 4.0
- 'sub_sampling_step'"sub_sampling_step""sub_sampling_step""sub_sampling_step""sub_sampling_step""sub_sampling_step":
-
Abtastschritt für die X-, Y- und Z-Bilddaten, welche als Ergebnis
der paarweisen Disparitätsberechnung entstehen, bevor diese Daten in
die Oberflächenrekonstruktion hineinfließen (siehe
reconstruct_surface_stereoreconstruct_surface_stereoReconstructSurfaceStereoreconstruct_surface_stereoReconstructSurfaceStereoReconstructSurfaceStereo).
Wertevorschläge: 1, 2 (Standardwert),
3
- 'disparity_method'"disparity_method""disparity_method""disparity_method""disparity_method""disparity_method":
-
Methode zur Berechnung der Disparitätsbilder der Bildpaaren
(siehe reconstruct_surface_stereoreconstruct_surface_stereoReconstructSurfaceStereoreconstruct_surface_stereoReconstructSurfaceStereoReconstructSurfaceStereo). Zur Zeit
wird nur die Methode 'binocular'"binocular""binocular""binocular""binocular""binocular" unterstützt, welche
intern den HALCON-Operator binocular_disparitybinocular_disparityBinocularDisparitybinocular_disparityBinocularDisparityBinocularDisparity aufruft.
Werteliste: 'binocular'"binocular""binocular""binocular""binocular""binocular" (Standardwert)
Wenn die Methode 'binocular'"binocular""binocular""binocular""binocular""binocular" als 'disparity_method'"disparity_method""disparity_method""disparity_method""disparity_method""disparity_method"
ausgewählt worden ist, sind die folgenden Parameter auch einstellbar:
-
'binocular_method'"binocular_method""binocular_method""binocular_method""binocular_method""binocular_method":
Den Parameter Method von binocular_disparitybinocular_disparityBinocularDisparitybinocular_disparityBinocularDisparityBinocularDisparity
setzen.
Werteliste: 'ncc'"ncc""ncc""ncc""ncc""ncc" (Standardwert),
'sad'"sad""sad""sad""sad""sad", 'ssd'"ssd""ssd""ssd""ssd""ssd"
-
'binocular_num_levels'"binocular_num_levels""binocular_num_levels""binocular_num_levels""binocular_num_levels""binocular_num_levels":
Den Parameter NumLevels von binocular_disparitybinocular_disparityBinocularDisparitybinocular_disparityBinocularDisparityBinocularDisparity
setzen.
Wertevorschläge: 1 (Standardwert), 2,
3, 4
-
'binocular_mask_width'"binocular_mask_width""binocular_mask_width""binocular_mask_width""binocular_mask_width""binocular_mask_width":
Den Parameter MaskWidth von binocular_disparitybinocular_disparityBinocularDisparitybinocular_disparityBinocularDisparityBinocularDisparity
setzen.
Wertevorschläge: 5, 7, 9,
11 (Standardwert),
21
-
'binocular_mask_height'"binocular_mask_height""binocular_mask_height""binocular_mask_height""binocular_mask_height""binocular_mask_height":
Den Parameter MaskHeight von binocular_disparitybinocular_disparityBinocularDisparitybinocular_disparityBinocularDisparityBinocularDisparity
setzen.
Wertevorschläge: 5, 7, 9,
11 (Standardwert),
21
-
'binocular_texture_thresh'"binocular_texture_thresh""binocular_texture_thresh""binocular_texture_thresh""binocular_texture_thresh""binocular_texture_thresh":
Den Parameter TextureThresh von binocular_disparitybinocular_disparityBinocularDisparitybinocular_disparityBinocularDisparityBinocularDisparity
setzen.
Wertevorschläge: 0.0 (Standardwert),
10.0, 30.0
-
'binocular_score_thresh'"binocular_score_thresh""binocular_score_thresh""binocular_score_thresh""binocular_score_thresh""binocular_score_thresh":
Den Parameter ScoreThresh von binocular_disparitybinocular_disparityBinocularDisparitybinocular_disparityBinocularDisparityBinocularDisparity
setzen.
Wertevorschläge: -1.0, 0.0, 0.3,
0.5 (Standardwert), 0.7
-
'binocular_filter'"binocular_filter""binocular_filter""binocular_filter""binocular_filter""binocular_filter":
Den Parameter Filter von binocular_disparitybinocular_disparityBinocularDisparitybinocular_disparityBinocularDisparityBinocularDisparity
setzen.
Werteliste: 'none'"none""none""none""none""none" (Standardwert),
'left_right_check'"left_right_check""left_right_check""left_right_check""left_right_check""left_right_check"
-
'binocular_sub_disparity'"binocular_sub_disparity""binocular_sub_disparity""binocular_sub_disparity""binocular_sub_disparity""binocular_sub_disparity":
Den Parameter SubDisparity von binocular_disparitybinocular_disparityBinocularDisparitybinocular_disparityBinocularDisparityBinocularDisparity
setzen.
Werteliste: 'none'"none""none""none""none""none" (Standardwert),
'interpolation'"interpolation""interpolation""interpolation""interpolation""interpolation"
- 'point_meshing'"point_meshing""point_meshing""point_meshing""point_meshing""point_meshing":
-
Schaltet den Vermaschungsnachbearbeitungsschritt der
Oberflächenrekonstruktion ein oder aus. Zur Zeit wird nur der
Poisson-basierte Vermaschungsalgorithmus unterstützt (siehe
reconstruct_surface_stereoreconstruct_surface_stereoReconstructSurfaceStereoreconstruct_surface_stereoReconstructSurfaceStereoReconstructSurfaceStereo für weitere Information).
Werteliste: 'none'"none""none""none""none""none" (Standardwert),
'poisson'"poisson""poisson""poisson""poisson""poisson"
Wenn die Poisson-basierte Vermaschung eingeschaltet ist, können die
folgenden Parameter zusätzlich eingestellt werden:
-
'poisson_depth'"poisson_depth""poisson_depth""poisson_depth""poisson_depth""poisson_depth":
Tiefe des Poisson-Octrees. Ein tieferer Octree führt zu höherer
Vermaschungauflösung, aber auch zu erheblich höherem Zeit- und
Speicherbedarf.
Wertevorschläge: 6,
8 (Standardwert),
10
Restriktion: 3 <= 'poisson_depth'"poisson_depth""poisson_depth""poisson_depth""poisson_depth""poisson_depth" <=
12
-
'poisson_solver_divide'"poisson_solver_divide""poisson_solver_divide""poisson_solver_divide""poisson_solver_divide""poisson_solver_divide":
Tiefe des eingesetzten Block-Gauss-Seidel-Algorithmus, der
zur Lösung des Poissongleichungen benutzt wird. Bei kleinem
zusätzlichen Zeitbedarf schafft dieser Algorithmus erhebliche
Speicherersparnisse. Die optimale Werte für diesen Parameter sind
um 0 bis 2 kleiner als die Tiefe des Octrees.
Wertevorschläge 6, 8 (Standardwert),
10
Restiktion: 3 <= 'poisson_solver_divide'"poisson_solver_divide""poisson_solver_divide""poisson_solver_divide""poisson_solver_divide""poisson_solver_divide"
<= 'poisson_depth'"poisson_depth""poisson_depth""poisson_depth""poisson_depth""poisson_depth"
-
'poisson_samples_per_node'"poisson_samples_per_node""poisson_samples_per_node""poisson_samples_per_node""poisson_samples_per_node""poisson_samples_per_node":
Mindestanzahl von Punkten, welche in einem Octree-Blatt angesammelt
werden. Dieser Parameter wird benutzt, um verrauschte Daten
zu behandeln, d.h. rauschfreie Daten können auf mehrere Blätter
verteilt werden, während verrauschte Daten eher auf
weniger Blätter verteilt werden sollten, um das Rauschen kompensieren
zu können. Ein Seiteneffekt ist, dass größere Werte dieses Parameter
allgemein zu kleineren Octrees führen, was wiederum die Vermaschung
beschleunigt, aber auch eine kleinere Rekonstruktionsauflösung nach sich
zieht.
Wertevorschläge: 1, 5, 10,
30 (Standardwert),
40
Alle diese Parameter können im Nachhinein mit dem Operator
get_stereo_model_paramget_stereo_model_paramGetStereoModelParamget_stereo_model_paramGetStereoModelParamGetStereoModelParam gelesen werden.
Bemerkung über tupelwertige Modellparameter
Die meisten der Stereomodellparameter haben nur einen Wert. In diesem
Fall kann man eine Liste (d.h. ein Tupel) von Parameternamen und eine Liste
(Tupel) derselben Länge von Parameterwerten übergeben.
Tupelwertige Parameter dagegen brauchen eine Liste von Werten.
Wenn so ein Parameter mit einwertigen Parametern
gemeinsam gesetzt wird, kann nicht mehr unterschieden werden, welcher
Wert zu welchem Parameternamen gehört. Deswegen können tupelwertige
Parameter wie 'bounding_box'"bounding_box""bounding_box""bounding_box""bounding_box""bounding_box" immer nur einzeln mit
set_stereo_model_paramset_stereo_model_paramSetStereoModelParamset_stereo_model_paramSetStereoModelParamSetStereoModelParam gesetzt werden.
- 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:
Der Wert dieses Parameters darf nicht über mehrere Threads verwendet werden.
Handle des Stereomodells.
Namen der Modellparameter.
Werteliste: 'binocular_filter'"binocular_filter""binocular_filter""binocular_filter""binocular_filter""binocular_filter", 'binocular_mask_height'"binocular_mask_height""binocular_mask_height""binocular_mask_height""binocular_mask_height""binocular_mask_height", 'binocular_mask_width'"binocular_mask_width""binocular_mask_width""binocular_mask_width""binocular_mask_width""binocular_mask_width", 'binocular_method'"binocular_method""binocular_method""binocular_method""binocular_method""binocular_method", 'binocular_num_levels'"binocular_num_levels""binocular_num_levels""binocular_num_levels""binocular_num_levels""binocular_num_levels", 'binocular_score_thresh'"binocular_score_thresh""binocular_score_thresh""binocular_score_thresh""binocular_score_thresh""binocular_score_thresh", 'binocular_sub_disparity'"binocular_sub_disparity""binocular_sub_disparity""binocular_sub_disparity""binocular_sub_disparity""binocular_sub_disparity", 'binocular_texture_thresh'"binocular_texture_thresh""binocular_texture_thresh""binocular_texture_thresh""binocular_texture_thresh""binocular_texture_thresh", 'bounding_box'"bounding_box""bounding_box""bounding_box""bounding_box""bounding_box", 'disparity_method'"disparity_method""disparity_method""disparity_method""disparity_method""disparity_method", 'persistence'"persistence""persistence""persistence""persistence""persistence", 'point_meshing'"point_meshing""point_meshing""point_meshing""point_meshing""point_meshing", 'poisson_depth'"poisson_depth""poisson_depth""poisson_depth""poisson_depth""poisson_depth", 'poisson_samples_per_node'"poisson_samples_per_node""poisson_samples_per_node""poisson_samples_per_node""poisson_samples_per_node""poisson_samples_per_node", 'poisson_solver_divide'"poisson_solver_divide""poisson_solver_divide""poisson_solver_divide""poisson_solver_divide""poisson_solver_divide", 'rectif_interpolation'"rectif_interpolation""rectif_interpolation""rectif_interpolation""rectif_interpolation""rectif_interpolation", 'rectif_sub_sampling'"rectif_sub_sampling""rectif_sub_sampling""rectif_sub_sampling""rectif_sub_sampling""rectif_sub_sampling", 'sub_sampling_step'"sub_sampling_step""sub_sampling_step""sub_sampling_step""sub_sampling_step""sub_sampling_step"
Werte der Modellparameter.
Wertevorschläge: 0, 0.3, 0.5, 1, 2, 3, 'binocular'"binocular""binocular""binocular""binocular""binocular", 'ncc'"ncc""ncc""ncc""ncc""ncc", 'none'"none""none""none""none""none", 'bilinear'"bilinear""bilinear""bilinear""bilinear""bilinear", 'interpolation'"interpolation""interpolation""interpolation""interpolation""interpolation", 'left_right_check'"left_right_check""left_right_check""left_right_check""left_right_check""left_right_check", 'poisson'"poisson""poisson""poisson""poisson""poisson"
3D Metrology