KlassenKlassenKlassenKlassen | | | | Operatoren

apply_sheet_of_light_calibrationapply_sheet_of_light_calibrationApplySheetOfLightCalibrationapply_sheet_of_light_calibrationApplySheetOfLightCalibrationApplySheetOfLightCalibration (Operator)

Name

apply_sheet_of_light_calibrationapply_sheet_of_light_calibrationApplySheetOfLightCalibrationapply_sheet_of_light_calibrationApplySheetOfLightCalibrationApplySheetOfLightCalibration — Wendet die Kalibriertransformationen auf das Eingabe-Disparitätsbild an.

Signatur

apply_sheet_of_light_calibration(Disparity : : SheetOfLightModelID : )

Herror apply_sheet_of_light_calibration(const Hobject Disparity, const Hlong SheetOfLightModelID)

Herror T_apply_sheet_of_light_calibration(const Hobject Disparity, const Htuple SheetOfLightModelID)

Herror apply_sheet_of_light_calibration(Hobject Disparity, const HTuple& SheetOfLightModelID)

void HImage::ApplySheetOfLightCalibration(const HSheetOfLightModel& SheetOfLightModelID) const

void HSheetOfLightModel::ApplySheetOfLightCalibration(const HImage& Disparity) const

void ApplySheetOfLightCalibration(const HObject& Disparity, const HTuple& SheetOfLightModelID)

void HImage::ApplySheetOfLightCalibration(const HSheetOfLightModel& SheetOfLightModelID) const

void HSheetOfLightModel::ApplySheetOfLightCalibration(const HImage& Disparity) const

void HOperatorSetX.ApplySheetOfLightCalibration(
[in] IHUntypedObjectX* Disparity, [in] VARIANT SheetOfLightModelID)

void HImageX.ApplySheetOfLightCalibration([in] IHSheetOfLightModelX* SheetOfLightModelID)

void HSheetOfLightModelX.ApplySheetOfLightCalibration([in] IHImageX* Disparity)

static void HOperatorSet.ApplySheetOfLightCalibration(HObject disparity, HTuple sheetOfLightModelID)

void HImage.ApplySheetOfLightCalibration(HSheetOfLightModel sheetOfLightModelID)

void HSheetOfLightModel.ApplySheetOfLightCalibration(HImage disparity)

Beschreibung

Der Operator apply_sheet_of_light_calibrationapply_sheet_of_light_calibrationApplySheetOfLightCalibrationapply_sheet_of_light_calibrationApplySheetOfLightCalibrationApplySheetOfLightCalibration liest das Disparitätsbild DisparityDisparityDisparityDisparityDisparitydisparity und speichert es in das von SheetOfLightModelIDSheetOfLightModelIDSheetOfLightModelIDSheetOfLightModelIDSheetOfLightModelIDsheetOfLightModelID referenzierte Lichtschnitt-Modell. Anschließend werden die Kalibriertransformationen auf dieses Disparitätsbild angewendet und somit die kalibrierten 3D-Punktkoordinaten der rekonstruierten Oberfläche berechnet. Diese 3D-Koordinaten können mit dem Operator get_sheet_of_light_resultget_sheet_of_light_resultGetSheetOfLightResultget_sheet_of_light_resultGetSheetOfLightResultGetSheetOfLightResult abgerufen werden. Das entsprechende 3D-Objektmodell kann mit dem Operator get_sheet_of_light_result_object_model_3dget_sheet_of_light_result_object_model_3dGetSheetOfLightResultObjectModel3dget_sheet_of_light_result_object_model_3dGetSheetOfLightResultObjectModel3dGetSheetOfLightResultObjectModel3d abgerufen werden.

Das Disparitätsbild DisparityDisparityDisparityDisparityDisparitydisparity kann mit dem Operator measure_profile_sheet_of_lightmeasure_profile_sheet_of_lightMeasureProfileSheetOfLightmeasure_profile_sheet_of_lightMeasureProfileSheetOfLightMeasureProfileSheetOfLight gemessen werden oder auch mit Hilfe einer speziellen Kamera acquiriert werden, welche Disparitätsbilder direkt nach dem Lichtschnittverfahren liefert.

Um die kalibrierten 3D-Koordinaten mit apply_sheet_of_light_calibrationapply_sheet_of_light_calibrationApplySheetOfLightCalibrationapply_sheet_of_light_calibrationApplySheetOfLightCalibrationApplySheetOfLightCalibration berechnen zu können, müssen vorher die folgenden Parameter in das Lichtschnitt-Modell gesetzt worden sein. Dies kann mit dem Operator set_sheet_of_light_paramset_sheet_of_light_paramSetSheetOfLightParamset_sheet_of_light_paramSetSheetOfLightParamSetSheetOfLightParam erfolgen.

'calibration'"calibration""calibration""calibration""calibration""calibration":

gibt an, welche Kalibriertransformationen auf das Disparitätsbild angewendet werden sollen und muss auf 'xz'"xz""xz""xz""xz""xz", 'xyz'"xyz""xyz""xyz""xyz""xyz" oder 'offset_scale'"offset_scale""offset_scale""offset_scale""offset_scale""offset_scale" gesetzt worden sein.

'camera_parameter'"camera_parameter""camera_parameter""camera_parameter""camera_parameter""camera_parameter":

die internen Parameter der Kamera des Messsystems.

'camera_pose'"camera_pose""camera_pose""camera_pose""camera_pose""camera_pose":

die Pose des Weltkoordinatensystems relativ zum Kamerakoordinatesystem.

'lightplane_pose'"lightplane_pose""lightplane_pose""lightplane_pose""lightplane_pose""lightplane_pose":

die Pose des Koordinatensystems der Lichtebene relativ zum Weltkoordinatensystem. Mit dem Koordinatensystem der Lichtebene ist ein Koordinatensystem gemeint, dessen Ebene definiert durch z=0 mit der Lichtebene übereinstimmt, die der Lichtlinienprojektor im Raum erzeugt.

'movement_pose'"movement_pose""movement_pose""movement_pose""movement_pose""movement_pose":

die Pose, die die Bewegung des Objekts relativ zum Messsystem während der Messung beschreibt. Diese Pose soll im Weltkoordinatensystem formuliert sein.

'scale'"scale""scale""scale""scale""scale":

dieser Parameter legt fest mit welchem Faktor die kalibrierten 3D-Koordinaten X, Y und Z skaliert werden. 'scale'"scale""scale""scale""scale""scale" muss als der Quotient Zieleinheit/Originaleinheit eingegeben werden. Die Originaleinheit wird durch das Kalibrierobjekt bestimmt, sie ist Meter wenn Sie eine Standardkalibrierplatte benutzen.

Die Referenzdokumentation des Operators set_sheet_of_light_paramset_sheet_of_light_paramSetSheetOfLightParamset_sheet_of_light_paramSetSheetOfLightParamSetSheetOfLightParam liefert weitere Details über die Bedeutung aller Modell-Parameter.

Achtung

Dieser Operator ändert die Daten in dem Handle. Daher kann ein und dasselbe Lichtschnitt-Modell nicht gleichzeitig in unterschiedlichen Threads verwendet werden, wenn dabei dieser Operator verwendet wird. Wenn dasselbe Handle in mehreren Threads verwendet werden soll, müssen die Threads synchronisiert werden, um sicherzustellen, dass sie nicht gleichzeitig auf das gleiche Handle zugreifen können. Unterschiedliche Lichtschnitt-Modelle können unabhängig und sicher in unterschiedlichen Threads verwendet werden.

Parallelisierung

Parameter

DisparityDisparityDisparityDisparityDisparitydisparity (input_object)  singlechannelimage objectHImageHImageHImageHImageXHobject (real)

Zu kalibrierende Entfernungs- oder Höhenmessung.

SheetOfLightModelIDSheetOfLightModelIDSheetOfLightModelIDSheetOfLightModelIDSheetOfLightModelIDsheetOfLightModelID (input_control)  sheet_of_light_model HSheetOfLightModel, HTupleHTupleHSheetOfLightModel, HTupleHSheetOfLightModelX, VARIANTHtuple (integer) (IntPtr) (Hlong) (Hlong) (Hlong) (Hlong)

Handle des Lichtschnitt-Modells.

Beispiel (HDevelop)

* ...
* Read an already acquired disparity map from file
read_image (Disparity, 'sheet_of_light/connection_rod_disparity.tif')
*
* Create a model and set the required parameters
gen_rectangle1 (ProfileRegion, 120, 75, 195, 710)
create_sheet_of_light_model (ProfileRegion, ['min_gray','num_profiles', \
                             'ambiguity_solving'], [70,290,'first'], \
                              SheetOfLightModelID)
set_sheet_of_light_param (SheetOfLightModelID, 'calibration', 'xyz')
set_sheet_of_light_param (SheetOfLightModelID, 'scale', 'mm')
set_sheet_of_light_param (SheetOfLightModelID, 'camera_parameter', \
                          CameraParameter)
set_sheet_of_light_param (SheetOfLightModelID, 'camera_pose', CameraPose)
set_sheet_of_light_param (SheetOfLightModelID, 'lightplane_pose', \
                          LightPlanePose)
set_sheet_of_light_param (SheetOfLightModelID, 'movement_pose', \
                          MovementPose)
*
* Apply the calibration transforms and
* get the resulting calibrated coordinates
apply_sheet_of_light_calibration (Disparity, SheetOfLightModelID)
get_sheet_of_light_result (X, SheetOfLightModelID, 'x')
get_sheet_of_light_result (Y, SheetOfLightModelID, 'y')
get_sheet_of_light_result (Z, SheetOfLightModelID, 'z')
*
* Clear the sheet-of-light model
clear_sheet_of_light_model (SheetOfLightModelID)

Ergebnis

apply_sheet_of_light_calibrationapply_sheet_of_light_calibrationApplySheetOfLightCalibrationapply_sheet_of_light_calibrationApplySheetOfLightCalibrationApplySheetOfLightCalibration liefert den Wert 2 (H_MSG_TRUE), falls die übergebenen Parameter korrekt sind. Ansonsten wird eine Fehlerbehandlung durchgeführt.

Nachfolger

get_sheet_of_light_resultget_sheet_of_light_resultGetSheetOfLightResultget_sheet_of_light_resultGetSheetOfLightResultGetSheetOfLightResult, get_sheet_of_light_result_object_model_3dget_sheet_of_light_result_object_model_3dGetSheetOfLightResultObjectModel3dget_sheet_of_light_result_object_model_3dGetSheetOfLightResultObjectModel3dGetSheetOfLightResultObjectModel3d

Modul

3D Metrology


KlassenKlassenKlassenKlassen | | | | Operatoren