KlassenKlassenKlassenKlassen | | | | Operatoren

set_stereo_model_paramT_set_stereo_model_paramSetStereoModelParamset_stereo_model_paramSetStereoModelParamSetStereoModelParam (Operator)

Name

set_stereo_model_paramT_set_stereo_model_paramSetStereoModelParamset_stereo_model_paramSetStereoModelParamSetStereoModelParam — Parameter eines Stereomodells setzen.

Signatur

set_stereo_model_param( : : StereoModelID, ParamName, ParamValue : )

Herror T_set_stereo_model_param(const Htuple StereoModelID, const Htuple ParamName, const Htuple ParamValue)

Herror set_stereo_model_param(const HTuple& StereoModelID, const HTuple& ParamName, const HTuple& ParamValue)

void HStereoModel::SetStereoModelParam(const HTuple& ParamName, const HTuple& ParamValue) const

void SetStereoModelParam(const HTuple& StereoModelID, const HTuple& ParamName, const HTuple& ParamValue)

void HStereoModel::SetStereoModelParam(const HTuple& ParamName, const HTuple& ParamValue) const

void HStereoModel::SetStereoModelParam(const HString& ParamName, const HTuple& ParamValue) const

void HStereoModel::SetStereoModelParam(const char* ParamName, const HTuple& ParamValue) const

void HOperatorSetX.SetStereoModelParam(
[in] VARIANT StereoModelID, [in] VARIANT ParamName, [in] VARIANT ParamValue)

void HStereoModelX.SetStereoModelParam(
[in] VARIANT ParamName, [in] VARIANT ParamValue)

static void HOperatorSet.SetStereoModelParam(HTuple stereoModelID, HTuple paramName, HTuple paramValue)

void HStereoModel.SetStereoModelParam(HTuple paramName, HTuple paramValue)

void HStereoModel.SetStereoModelParam(string paramName, HTuple paramValue)

Beschreibung

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:

'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:

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.

Parallelisierung

Dieser Operator modifiziert den Zustand des folgenden Eingabeparameters:

Der Wert dieses Parameters darf nicht über mehrere Threads verwendet werden.

Parameter

StereoModelIDStereoModelIDStereoModelIDStereoModelIDStereoModelIDstereoModelID (input_control, Zustand wird modifiziert)  stereo_model HStereoModel, HTupleHTupleHStereoModel, HTupleHStereoModelX, VARIANTHtuple (integer) (IntPtr) (Hlong) (Hlong) (Hlong) (Hlong)

Handle des Stereomodells.

ParamNameParamNameParamNameParamNameParamNameparamName (input_control)  attribute.name(-array) HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (char*)

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"

ParamValueParamValueParamValueParamValueParamValueparamValue (input_control)  attribute.value-array HTupleHTupleHTupleVARIANTHtuple (real / integer / string) (double / int / long / string) (double / Hlong / HString) (double / Hlong / char*) (double / Hlong / BSTR) (double / Hlong / char*)

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"

Modul

3D Metrology


KlassenKlassenKlassenKlassen | | | | Operatoren