| Operatoren |
hom_mat3d_to_pose — Konvertieren einer homogenen Transformationsmatrix in eine 3D-Lage (Pose).
hom_mat3d_to_pose konvertiert eine homogene Transformationsmatrix HomMat3D in eine 3D-Lage Pose mit Typ-Code 0. Details zu 3D-Lagen und den zugehörigen Transformationsmatrizen findet sich bei create_pose.
Ein typischer Anwendungsfall von hom_mat3d_to_pose ist, dass eine 3D-Lage zuvor mit pose_to_hom_mat3d in eine homogene Transformationsmatrix konvertiert wurde, um sie z.B. mit hom_mat3d_rotate oder hom_mat3d_translate weiter zu transformieren, und dann wieder zurück in ein 3D-Lage konvertiert werden soll, um die als Eingabe für Operatoren wie image_points_to_world_plane zu nutzen.
hom_mat3d_to_pose unterstützt nur rigide Transformationen in HomMat3D.
Homogene Transformationsmatrix.
* Calibrate camera.
calibrate_cameras (CalibDataID,Error)
* Get reference pose (pose 2 of calibration object 0).
get_calib_data (CalibDataID, 'calib_obj_pose',\
[0,2], 'pose', ObjInCameraPose)
* Convert pose to homogeneous transformation matrix.
pose_to_hom_mat3d(ObjInCameraPose, cam_H_cal)
* Rotate it 90 degrees around its y-axis to obtain a world coordinate system
* whose y- and z-axis lie in the plane of the calibration plate while the
* x-axis point 'upwards': cam_H_w = cam_H_cal * RotY(90).
hom_mat3d_identity(HomMat3DIdent)
hom_mat3d_rotate(HomMat3DIdent, rad(90), 'y', 0, 0, 0, \
HomMat3DRotateY)
hom_mat3d_compose(cam_H_cal, HomMat3DRotateY, cam_H_w)
* Convert transformed matrix back to pose.
hom_mat3d_to_pose (cam_H_w, Pose)
Sind die Parameterwerte korrekt, dann liefert hom_mat3d_to_pose den Wert 2 (H_MSG_TRUE). Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.
hom_mat3d_rotate, hom_mat3d_translate, hom_mat3d_invert
camera_calibration, write_pose, disp_caltab, sim_caltab
create_pose, camera_calibration, disp_caltab, sim_caltab, write_pose, read_pose, pose_to_hom_mat3d, project_3d_point, get_line_of_sight, hom_mat3d_rotate, hom_mat3d_translate, hom_mat3d_invert, affine_trans_point_3d
Foundation
| Operatoren |