HALCON Reference Manual 10.0.2
Table of Contents / Matrix / Access ClassesClassesClasses | | | Operators

get_sub_matrixget_sub_matrixget_sub_matrixGetSubMatrixGetSubMatrix (Operator)

Name

get_sub_matrixget_sub_matrixget_sub_matrixGetSubMatrixGetSubMatrix — Get a sub-matrix of a matrix.

Signature

get_sub_matrix( : : MatrixID, Row, Column, RowsSub, ColumnsSub : MatrixSubID)

Herror get_sub_matrix(const Hlong MatrixID, const Hlong Row, const Hlong Column, const Hlong RowsSub, const Hlong ColumnsSub, Hlong* MatrixSubID)

Herror T_get_sub_matrix(const Htuple MatrixID, const Htuple Row, const Htuple Column, const Htuple RowsSub, const Htuple ColumnsSub, Htuple* MatrixSubID)

Herror get_sub_matrix(const HTuple& MatrixID, const HTuple& Row, const HTuple& Column, const HTuple& RowsSub, const HTuple& ColumnsSub, Hlong* MatrixSubID)

HMatrix HMatrix::GetSubMatrix(const HTuple& Row, const HTuple& Column, const HTuple& RowsSub, const HTuple& ColumnsSub) const

void HOperatorSetX.GetSubMatrix(
[in] VARIANT MatrixID, [in] VARIANT Row, [in] VARIANT Column, [in] VARIANT RowsSub, [in] VARIANT ColumnsSub, [out] VARIANT* MatrixSubID)

IHMatrixX* HMatrixX.GetSubMatrix(
[in] Hlong Row, [in] Hlong Column, [in] Hlong RowsSub, [in] Hlong ColumnsSub)

static void HOperatorSet.GetSubMatrix(HTuple matrixID, HTuple row, HTuple column, HTuple rowsSub, HTuple columnsSub, out HTuple matrixSubID)

HMatrix HMatrix.GetSubMatrix(int row, int column, int rowsSub, int columnsSub)

Description

The operator get_sub_matrixget_sub_matrixget_sub_matrixGetSubMatrixGetSubMatrix generates a new matrix MatrixSubMatrixSubMatrixSubMatrixSubmatrixSub and copies to this matrix a part of the input MatrixMatrixMatrixMatrixmatrix defined by the matrix handle MatrixMatrixMatrixMatrixmatrix. The part of the MatrixMatrixMatrixMatrixmatrix is determined by the upper left corner (RowRowRowRowrow,ColumnColumnColumnColumncolumn) and the sub-matrix dimensions (RowsSubRowsSubRowsSubRowsSubrowsSub, ColumnsSubColumnsSubColumnsSubColumnsSubcolumnsSub). The operator returns the matrix handle MatrixSubIDMatrixSubIDMatrixSubIDMatrixSubIDmatrixSubID of the matrix MatrixSubMatrixSubMatrixSubMatrixSubmatrixSub. Access to the elements of the matrix is possible e.g. with the operator get_full_matrixget_full_matrixget_full_matrixGetFullMatrixGetFullMatrix.

Example:


           /  3.0   1.0  -2.0   1.0  \
  Matrix = | -5.0   7.0   2.0   6.0  |
           \ -9.0  -4.0   1.0  -1.0  /

  Row = 0   Column = 1   RowsSub = 3   ColumnsSub = 2

                   /  1.0  -2.0  \
  ->   MatrixSub = |  7.0   2.0  |
                   \ -4.0   1.0  /

Attention

The conditions 0 <= RowRowRowRowrow < size of MatrixMatrixMatrixMatrixmatrix in row direction, RowRowRowRowrow + RowsSubRowsSubRowsSubRowsSubrowsSub <= size of MatrixMatrixMatrixMatrixmatrix in the row direction, 0 <= ColumnColumnColumnColumncolumn < size of MatrixMatrixMatrixMatrixmatrix in the column direction, and ColumnColumnColumnColumncolumn + ColumnsSubColumnsSubColumnsSubColumnsSubcolumnsSub <= size of matrix MatrixMatrixMatrixMatrixmatrix in the column direction must be satisfied.

Parallelization

Parameters

MatrixIDMatrixIDMatrixIDMatrixIDmatrixID (input_control)  matrix HMatrix, HTupleHMatrix, HTupleHMatrixX, VARIANTHtuple (integer) (IntPtr) (Hlong) (Hlong) (Hlong)

Matrix handle of the input matrix.

RowRowRowRowrow (input_control)  integer HTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong)

Upper row position of the sub-matrix in the input matrix.

Default value: 0

Suggested values: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 20, 30, 50, 100

Restriction: Row >= 0

ColumnColumnColumnColumncolumn (input_control)  integer HTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong)

Left column position of the sub-matrix in the input matrix.

Default value: 0

Suggested values: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 20, 30, 50, 100

Restriction: Column >= 0

RowsSubRowsSubRowsSubRowsSubrowsSub (input_control)  integer HTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong)

Number of rows of the sub-matrix.

Default value: 1

Suggested values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 20, 30, 50, 100

Restriction: RowsSub >= 1

ColumnsSubColumnsSubColumnsSubColumnsSubcolumnsSub (input_control)  integer HTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong)

Number of columns of the sub-matrix.

Default value: 1

Suggested values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 20, 30, 50, 100

Restriction: ColumnsSub >= 1

MatrixSubIDMatrixSubIDMatrixSubIDMatrixSubIDmatrixSubID (output_control)  matrix HMatrix, HTupleHMatrix, HTupleHMatrixX, VARIANTHtuple (integer) (IntPtr) (Hlong) (Hlong) (Hlong)

Matrix handle of the sub-matrix.

Result

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

Possible Predecessors

create_matrixcreate_matrixcreate_matrixCreateMatrixCreateMatrix

Possible Successors

get_full_matrixget_full_matrixget_full_matrixGetFullMatrixGetFullMatrix, get_value_matrixget_value_matrixget_value_matrixGetValueMatrixGetValueMatrix

See also

set_sub_matrixset_sub_matrixset_sub_matrixSetSubMatrixSetSubMatrix

Module

Foundation


Table of Contents / Matrix / Access ClassesClassesClasses | | | Operators
HALCON Reference Manual 10.0.2 Copyright © 1996-2011 MVTec Software GmbH