HALCON Reference Manual 10.0.2
Table of Contents / Transformations / 2D Transformations ClassesClassesClasses | | | Operators

hom_mat2d_composeT_hom_mat2d_composehom_mat2d_composeHomMat2dComposeHomMat2dCompose (Operator)

Name

hom_mat2d_composeT_hom_mat2d_composehom_mat2d_composeHomMat2dComposeHomMat2dCompose — Multiply two homogeneous 2D transformation matrices.

Signature

hom_mat2d_compose( : : HomMat2DLeft, HomMat2DRight : HomMat2DCompose)

Herror T_hom_mat2d_compose(const Htuple HomMat2DLeft, const Htuple HomMat2DRight, Htuple* HomMat2DCompose)

Herror hom_mat2d_compose(const HTuple& HomMat2DLeft, const HTuple& HomMat2DRight, HTuple* HomMat2DCompose)

void HOperatorSetX.HomMat2dCompose(
[in] VARIANT HomMat2dLeft, [in] VARIANT HomMat2dRight, [out] VARIANT* HomMat2dCompose)

IHHomMat2DX* HHomMat2DX.HomMat2dCompose([in] IHHomMat2DX* HomMat2dRight)

static void HOperatorSet.HomMat2dCompose(HTuple homMat2DLeft, HTuple homMat2DRight, out HTuple homMat2DCompose)

HHomMat2D HHomMat2D.HomMat2dCompose(HHomMat2D homMat2DRight)

Description

hom_mat2d_composehom_mat2d_composehom_mat2d_composeHomMat2dComposeHomMat2dCompose composes a new 2D transformation matrix by multiplying the two input matrices:

  HomMat2DComposeHomMat2DComposeHomMat2DComposeHomMat2DComposehomMat2DCompose = HomMat2DLeftHomMat2DLeftHomMat2DLeftHomMat2DLefthomMat2DLeft * HomMat2DRightHomMat2DRightHomMat2DRightHomMat2DRighthomMat2DRight

For example, if the two input matrices correspond to rigid transformations, i.e., to transformations consisting of a rotation and a translation, the resulting matrix is calculated as follows:

  HomMat2DComposeHomMat2DComposeHomMat2DComposeHomMat2DComposehomMat2DCompose  =  | R(l)  t(l) |  *  | R(r)  t(r) |
                      | 0  0   1   |     | 0  0   1   |

                   =  | R(l)*R(r)  R(l)*t(r)+t(l) |
                      |  0   0           1        |

Parallelization

Parameters

HomMat2DLeftHomMat2DLeftHomMat2DLeftHomMat2DLefthomMat2DLeft (input_control)  hom_mat2d-array HHomMat2D, HTupleHTupleHHomMat2DX, VARIANTHtuple (real) (double) (double) (double) (double)

Left input transformation matrix.

HomMat2DRightHomMat2DRightHomMat2DRightHomMat2DRighthomMat2DRight (input_control)  hom_mat2d-array HHomMat2D, HTupleHTupleHHomMat2DX, VARIANTHtuple (real) (double) (double) (double) (double)

Right input transformation matrix.

HomMat2DComposeHomMat2DComposeHomMat2DComposeHomMat2DComposehomMat2DCompose (output_control)  hom_mat2d-array HHomMat2D, HTupleHTupleHHomMat2DX, VARIANTHtuple (real) (double) (double) (double) (double)

Output transformation matrix.

Result

If the parameters are valid, the operator hom_mat2d_composehom_mat2d_composehom_mat2d_composeHomMat2dComposeHomMat2dCompose returns 2 (H_MSG_TRUE). If necessary, an exception is raised.

Possible Predecessors

hom_mat2d_composehom_mat2d_composehom_mat2d_composeHomMat2dComposeHomMat2dCompose, hom_mat2d_translatehom_mat2d_translatehom_mat2d_translateHomMat2dTranslateHomMat2dTranslate, hom_mat2d_translate_localhom_mat2d_translate_localhom_mat2d_translate_localHomMat2dTranslateLocalHomMat2dTranslateLocal, hom_mat2d_scalehom_mat2d_scalehom_mat2d_scaleHomMat2dScaleHomMat2dScale, hom_mat2d_scale_localhom_mat2d_scale_localhom_mat2d_scale_localHomMat2dScaleLocalHomMat2dScaleLocal, hom_mat2d_rotatehom_mat2d_rotatehom_mat2d_rotateHomMat2dRotateHomMat2dRotate, hom_mat2d_rotate_localhom_mat2d_rotate_localhom_mat2d_rotate_localHomMat2dRotateLocalHomMat2dRotateLocal, hom_mat2d_slanthom_mat2d_slanthom_mat2d_slantHomMat2dSlantHomMat2dSlant, hom_mat2d_slant_localhom_mat2d_slant_localhom_mat2d_slant_localHomMat2dSlantLocalHomMat2dSlantLocal

Possible Successors

hom_mat2d_translatehom_mat2d_translatehom_mat2d_translateHomMat2dTranslateHomMat2dTranslate, hom_mat2d_translate_localhom_mat2d_translate_localhom_mat2d_translate_localHomMat2dTranslateLocalHomMat2dTranslateLocal, hom_mat2d_scalehom_mat2d_scalehom_mat2d_scaleHomMat2dScaleHomMat2dScale, hom_mat2d_scale_localhom_mat2d_scale_localhom_mat2d_scale_localHomMat2dScaleLocalHomMat2dScaleLocal, hom_mat2d_rotatehom_mat2d_rotatehom_mat2d_rotateHomMat2dRotateHomMat2dRotate, hom_mat2d_rotate_localhom_mat2d_rotate_localhom_mat2d_rotate_localHomMat2dRotateLocalHomMat2dRotateLocal, hom_mat2d_slanthom_mat2d_slanthom_mat2d_slantHomMat2dSlantHomMat2dSlant, hom_mat2d_slant_localhom_mat2d_slant_localhom_mat2d_slant_localHomMat2dSlantLocalHomMat2dSlantLocal

Module

Foundation


Table of Contents / Transformations / 2D Transformations ClassesClassesClasses | | | Operators
HALCON Reference Manual 10.0.2 Copyright © 1996-2011 MVTec Software GmbH