measure_profile_sheet_of_lightT_measure_profile_sheet_of_lightMeasureProfileSheetOfLightMeasureProfileSheetOfLightmeasure_profile_sheet_of_light (Operator)

Name

measure_profile_sheet_of_lightT_measure_profile_sheet_of_lightMeasureProfileSheetOfLightMeasureProfileSheetOfLightmeasure_profile_sheet_of_light — Messung eines 3D-Profils anhand eines Lichtschnittbildes.

Signatur

measure_profile_sheet_of_light(ProfileImage : : SheetOfLightModelID, MovementPose : )

Herror T_measure_profile_sheet_of_light(const Hobject ProfileImage, const Htuple SheetOfLightModelID, const Htuple MovementPose)

void MeasureProfileSheetOfLight(const HObject& ProfileImage, const HTuple& SheetOfLightModelID, const HTuple& MovementPose)

void HImage::MeasureProfileSheetOfLight(const HSheetOfLightModel& SheetOfLightModelID, const HTuple& MovementPose) const

void HSheetOfLightModel::MeasureProfileSheetOfLight(const HImage& ProfileImage, const HTuple& MovementPose) const

static void HOperatorSet.MeasureProfileSheetOfLight(HObject profileImage, HTuple sheetOfLightModelID, HTuple movementPose)

void HImage.MeasureProfileSheetOfLight(HSheetOfLightModel sheetOfLightModelID, HTuple movementPose)

void HSheetOfLightModel.MeasureProfileSheetOfLight(HImage profileImage, HTuple movementPose)

def measure_profile_sheet_of_light(profile_image: HObject, sheet_of_light_model_id: HHandle, movement_pose: Sequence[Union[int, float]]) -> None

Beschreibung

Der Operator measure_profile_sheet_of_lightmeasure_profile_sheet_of_lightMeasureProfileSheetOfLightMeasureProfileSheetOfLightMeasureProfileSheetOfLightmeasure_profile_sheet_of_light misst das im Eingabebild ProfileImageProfileImageProfileImageProfileImageprofileImageprofile_image vorhandene Profil und speichert die resultierenden Disparitätswerte in das Lichtschnitt-Modell. Beachten Sie, dass ProfileImageProfileImageProfileImageProfileImageprofileImageprofile_image nur in der Region ProfileRegionProfileRegionProfileRegionProfileRegionprofileRegionprofile_region bearbeitet wird, die mit dem Operator create_sheet_of_light_modelcreate_sheet_of_light_modelCreateSheetOfLightModelCreateSheetOfLightModelCreateSheetOfLightModelcreate_sheet_of_light_model für das Lichtschnitt-Modell gesetzt wurde. Da ProfileImageProfileImageProfileImageProfileImageprofileImageprofile_image spaltenweise verarbeitet wird, muss das Profil annähernd waagerecht orientiert sein.

Einfluss verschiedener Modell-Parameter

Wenn der Modellparameter 'score_type'"score_type""score_type""score_type""score_type""score_type" auf die Werte 'intensity'"intensity""intensity""intensity""intensity""intensity" oder 'width'"width""width""width""width""width" gesetzt wurde, werden während der Messung ebenfalls Bewertungsmerkmale ('score'"score""score""score""score""score") berechnet und im Lichtschnitt-Modell gespeichert. set_sheet_of_light_paramset_sheet_of_light_paramSetSheetOfLightParamSetSheetOfLightParamSetSheetOfLightParamset_sheet_of_light_param liefert eine detaillierte Beschreibung dieses Modellparameters.

Wenn der Modellparameter 'calibration'"calibration""calibration""calibration""calibration""calibration" 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 wurde, und alle benötigten Parameter für das Modell gesetzt wurden, wird die Kalibriertransformation automatisch auf die Disparitätswerte angewendet. set_sheet_of_light_paramset_sheet_of_light_paramSetSheetOfLightParamSetSheetOfLightParamSetSheetOfLightParamset_sheet_of_light_param liefert eine detaillierte Beschreibung der Modellparameter, die für den Einsatz der Kalibriertansformationen benötigt werden.

Setzen von MovementPose

MovementPoseMovementPoseMovementPoseMovementPosemovementPosemovement_pose beschreibt die Bewegung des Objekts zwischen der vorherigen Profilaufnahme und der Aufnahme des aktuellen Profils.

Wenn der Modellparameter 'calibration'"calibration""calibration""calibration""calibration""calibration" auf 'none'"none""none""none""none""none" oder 'xz'"xz""xz""xz""xz""xz" gesetzt wurde (siehe set_sheet_of_light_paramset_sheet_of_light_paramSetSheetOfLightParamSetSheetOfLightParamSetSheetOfLightParamset_sheet_of_light_param), wird die Bewegung des Objekts in der Kalibriertransformation nicht berücksichtigt. MovementPoseMovementPoseMovementPoseMovementPosemovementPosemovement_pose wird in diesem Fall ignoriert und kann zum Beispiel mit einem leeren Tupel gesetzt werden.

Wenn 'calibration'"calibration""calibration""calibration""calibration""calibration" auf 'xyz'"xyz""xyz""xyz""xyz""xyz" gesetzt wurde, muss diese Pose im Lichtschnitt-Modell vorhanden sein. Sie kann hier in MovementPoseMovementPoseMovementPoseMovementPosemovementPosemovement_pose oder auch mit Hilfe des Parameters 'movement_pose'"movement_pose""movement_pose""movement_pose""movement_pose""movement_pose" im Operator set_sheet_of_light_paramset_sheet_of_light_paramSetSheetOfLightParamSetSheetOfLightParamSetSheetOfLightParamset_sheet_of_light_param gesetzt werden.

Wenn 'calibration'"calibration""calibration""calibration""calibration""calibration" auf 'offset_scale'"offset_scale""offset_scale""offset_scale""offset_scale""offset_scale" gesetzt wurde, kann hier in MovementPoseMovementPoseMovementPoseMovementPosemovementPosemovement_pose eine Bewegung angegeben werden. Es sollte allerdings bedacht werden, dass die Bedeutung der Bewegung nicht zwingend metrisch ist.

Wenn die Bewegung des Objektes während der Aufnahme von zwei sukzessiven Profilen konstant ist, wird empfohlen MovementPoseMovementPoseMovementPoseMovementPosemovementPosemovement_pose hier mit einem leeren Tupel zu setzen, und die konstante Pose der Bewegung mit dem Operator set_sheet_of_light_paramset_sheet_of_light_paramSetSheetOfLightParamSetSheetOfLightParamSetSheetOfLightParamset_sheet_of_light_param zu setzen. Diese Konfiguration ergibt sich zum Beispiel, wenn das zu messende Objekt auf einem Fließband befördert wird und das Messsystem ortsfest ist.

Wenn die Bewegung des Objektes während der Aufnahme von zwei sukzessiven Profilen nicht konstant ist, zum Beispiel weil das Messsystem mit einem Roboter über das zu messende Objekt gefahren wird, muss MovementPoseMovementPoseMovementPoseMovementPosemovementPosemovement_pose bei jedem Aufruf von measure_profile_sheet_of_lightmeasure_profile_sheet_of_lightMeasureProfileSheetOfLightMeasureProfileSheetOfLightMeasureProfileSheetOfLightmeasure_profile_sheet_of_light gesetzt werden.

Bitte beachten Sie, dass MovementPoseMovementPoseMovementPoseMovementPosemovementPosemovement_pose im Weltkoordinatensystem formuliert sein muss, das implizit durch die Pose der Kamera definiert wurde (siehe den Parameter 'camera_pose'"camera_pose""camera_pose""camera_pose""camera_pose""camera_pose" in set_sheet_of_light_paramset_sheet_of_light_paramSetSheetOfLightParamSetSheetOfLightParamSetSheetOfLightParamset_sheet_of_light_param).

Ausführungsinformationen

Dieser Operator modifiziert den Zustand des folgenden Eingabeparameters:

Während der Ausführung dieses Operators muss der Zugriff auf den Wert dieses Parameters synchronisiert werden, wenn er über mehrere Threads hinweg verwendet wird.

Parameter

ProfileImageProfileImageProfileImageProfileImageprofileImageprofile_image (input_object)  singlechannelimage objectHImageHObjectHImageHobject (byte / uint2)

Eingabebild.

SheetOfLightModelIDSheetOfLightModelIDSheetOfLightModelIDSheetOfLightModelIDsheetOfLightModelIDsheet_of_light_model_id (input_control, Zustand wird modifiziert)  sheet_of_light_model HSheetOfLightModel, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Handle des Lichtschnitt-Modells.

MovementPoseMovementPoseMovementPoseMovementPosemovementPosemovement_pose (input_control)  number-array HTupleSequence[Union[int, float]]HTupleHtuple (integer / real) (int / long / double) (Hlong / double) (Hlong / double)

Pose, welche die Bewegung der zu messenden Szene zwischen dem vorherigen und dem aktuellen Eingabebild beschreibt.

Ergebnis

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

Nachfolger

apply_sheet_of_light_calibrationapply_sheet_of_light_calibrationApplySheetOfLightCalibrationApplySheetOfLightCalibrationApplySheetOfLightCalibrationapply_sheet_of_light_calibration, get_sheet_of_light_resultget_sheet_of_light_resultGetSheetOfLightResultGetSheetOfLightResultGetSheetOfLightResultget_sheet_of_light_result

Siehe auch

query_sheet_of_light_paramsquery_sheet_of_light_paramsQuerySheetOfLightParamsQuerySheetOfLightParamsQuerySheetOfLightParamsquery_sheet_of_light_params, get_sheet_of_light_paramget_sheet_of_light_paramGetSheetOfLightParamGetSheetOfLightParamGetSheetOfLightParamget_sheet_of_light_param, get_sheet_of_light_resultget_sheet_of_light_resultGetSheetOfLightResultGetSheetOfLightResultGetSheetOfLightResultget_sheet_of_light_result, apply_sheet_of_light_calibrationapply_sheet_of_light_calibrationApplySheetOfLightCalibrationApplySheetOfLightCalibrationApplySheetOfLightCalibrationapply_sheet_of_light_calibration

Modul

3D Metrology