Herror ::get_pose_type (
    const HTuple &Pose,
    char *OrderOfTransform,
    char *OrderOfRotation,
    char *ViewOfTransform
)

Get the representation type of 3D pose parameters.

With ::get_pose_type, the representation type of the 3D pose Pose can be queried.

A 3D pose defines a 3D transformation consisting of a translation and a rotation. Halcon supports different representation types for such a transformation. This can be, for example, external camera parameters, given by a 3D translation vector (in meters), three rotation angles, and the code of the representation type of the 3D transformation. For example, the value '0' is the code of representation type 1, and signifies that the transformation of a point is described, that the 3D rotation is applied before the translation, that the rotations are given as angles (in degrees), and that the order of the rotations is Gamma-Beta-Alpha, i.e., the first rotation is around the z-axis, the second rotation around the new y-axis, and the third rotation around the x-axis created by the previous two rotations. The meaning of the other representation types is described with the operator ::create_pose.

The returned parameter ViewOfTransform determines, whether the transformation Pose describes the transformation of a point ('point') or the transformation of a coordinate system ('coordinate_system'). OrderOfTransform determines whether the rotation ('Rp+T') or the translation ('R(p-T)') is applied first. The meaning of the three rotation values is determined by OrderOfRotation. The values 'gba' and 'abg' signify that the rotation values describe the three rotation angles alpha (around the x-axis), beta (around the y-axis), and gamma (around the z-axis) in the 3D transformation. For 'gba', the rotation order is gamma , beta , alpha , and for 'abg' it is alpha , beta , gamma . If OrderOfRotation is 'rodriguez', the rotation values are interpreted as Rodriguez rotation vector.


Parameters

Pose (input_control)
pose-array -> HTuple.double / long
3D transformation.
Number of elements: 7

OrderOfTransform (output_control)
string -> char *
Order of rotation and translation.

OrderOfRotation (output_control)
string -> char *
Meaning of the rotation values.

ViewOfTransform (output_control)
string -> char *
View of transformation.


Example
HTuple Pose, OrderT, OrderR, SightT;
// get pose (external camera parameters):
::read_pose("campose.dat", &CamPose) ;
/* get semantic type of pose */
::get_pose_type(CamPose, &OrderT, &OrderR, &SightT);

Result

::create_pose returns H_MSG_TRUE if all parameter values are correct. If necessary, an exception handling is raised.


Possible Predecessors

::create_pose, ::hom_mat3d_to_pose, ::camera_calibration, ::hand_eye_calibration


Possible Successors

::convert_pose_type


See also

::create_pose, ::convert_pose_type, ::write_pose, ::read_pose


Module

Camera calibration



Copyright © 1996-2002 MVTec Software GmbH