Halcon矩阵(Matrix)算子详解

Halcon矩阵(Matrix)算子详解

  • 创建(Creation)
    • create_matrix
    • copy_matrix
    • repeat_matrix
    • clear_matrix
  • 访问(Access)
    • get_diagonal_matrix
    • set_diagonal_matrix
    • get_full_matrix
    • set_full_matrix
    • get_sub_matrix
    • set_sub_matrix
    • get_value_matrix
    • set_value_matrix
  • 算法(Arithmetic)
  • 分解(Decomposition)
  • 特征值(Eigenvalues)
  • 特性(Features)
    • determinant_matrix
    • get_size_matrix
    • max_matrix
    • mean_matrix
    • min_matrix
    • norm_matrix
    • sum_matrix
  • 文件操作(File)
    • write_matrix
    • read_matrix
    • serialize_matrix
    • deserialize_matrix

创建(Creation)

create_matrix

create_matrix ( : : Rows, Columns, Value : MatrixID )
创建一个新矩阵,Rows行,Columns列,Value 数值,MatrixID 矩阵句柄。
如果Value=’identity’,生成单位矩阵:
Halcon矩阵(Matrix)算子详解_第1张图片
如果Value=某个值,整个矩阵都填充为这个值:
在这里插入图片描述
如果Value包含多个值,且值的数量等于矩阵的秩,则对角线将填充为Value:
在这里插入图片描述
如果Value包含多个值,且值的数量等于矩阵中元素的个数(Rows×Columns),则Value逐行填充矩阵:
在这里插入图片描述

copy_matrix

copy_matrix ( : : MatrixID : MatrixCopyID )
复制矩阵,MatrixID 源矩阵句柄,MatrixCopyID 复制的矩阵句柄。
在这里插入图片描述

repeat_matrix

repeat_matrix ( : : MatrixID, Rows, Columns : MatrixRepeatedID )
重复矩阵,MatrixID源矩阵句柄,Rows重复行,Columns 重复列,MatrixRepeatedID 重复后的矩阵句柄。把源矩阵复制Rows×Columns 次,赋值给MatrixRepeatedID
Rows=3,Columns =4:Halcon矩阵(Matrix)算子详解_第2张图片

clear_matrix

clear_matrix ( : : MatrixID : )
释放矩阵占用内存。调用算子后,矩阵不再可用,矩阵句柄MatrixID变为非法。
示例:

create_matrix (2, 2, [1,2,3,4], MatrixID)
clear_matrix (MatrixID)

访问(Access)

get_diagonal_matrix

get_diagonal_matrix ( : : MatrixID, Diagonal : VectorID )
获取对角线元素,并产生新向量,MatrixID源矩阵句柄,Diagonal 对角值,VectorID 新向量矩阵句柄。
如果Diagonal =0,则返回主对角线元素:
Halcon矩阵(Matrix)算子详解_第3张图片
如果Diagonal 为正值,则返回右上角元素:
Halcon矩阵(Matrix)算子详解_第4张图片
如果Diagonal 为负值,则返回左下角元素:
Halcon矩阵(Matrix)算子详解_第5张图片

set_diagonal_matrix

set_diagonal_matrix ( : : MatrixID, VectorID, Diagonal : )
用向量VectorID的值,重写矩阵MatrixID的对角元素,Diagonal 对角值。向量VectorID必须为一行或一列。
如果Diagonal =0,则覆盖主对角元素:
Halcon矩阵(Matrix)算子详解_第6张图片
如果VectorID仅包含一个元素,则对角线元素均覆盖为该元素:
Halcon矩阵(Matrix)算子详解_第7张图片
如果Diagonal为正值,则覆盖右上角元素:
Halcon矩阵(Matrix)算子详解_第8张图片
Halcon矩阵(Matrix)算子详解_第9张图片
如果Diagonal为负值,则覆盖左下角元素:
Halcon矩阵(Matrix)算子详解_第10张图片
Halcon矩阵(Matrix)算子详解_第11张图片

get_full_matrix

get_full_matrix ( : : MatrixID : Values )
返回矩阵的所有元素,MatrixID 矩阵句柄,Values 浮点型元组,逐行保存。
在这里插入图片描述
Halcon矩阵(Matrix)算子详解_第12张图片

set_full_matrix

set_full_matrix ( : : MatrixID, Values : )
将元组Values 的值赋给矩阵句柄MatrixID。
Note:效果与 create_matrix相同,优势在于重用不再用的矩阵。
Halcon矩阵(Matrix)算子详解_第13张图片
Halcon矩阵(Matrix)算子详解_第14张图片

get_sub_matrix

get_sub_matrix ( : : MatrixID, Row, Column, RowsSub,ColumnsSub : MatrixSubID )
复制MatrixID的子矩阵,产生新矩阵MatrixSubID,子矩阵由左上角 (Row,Column) 和子矩阵维度(RowsSub, ColumnsSub)决定。
ATT:需要满足条件:0 <= Row Halcon矩阵(Matrix)算子详解_第15张图片

set_sub_matrix

set_sub_matrix ( : : MatrixID, MatrixSubID, Row, Column : )
将矩阵MatrixSubID作为子矩阵重写MatrixID,左上角坐标(Row, Column)。
ATT:需要满足条件:0 <= Row Halcon矩阵(Matrix)算子详解_第16张图片

get_value_matrix

get_value_matrix ( : : MatrixID, Row, Column : Value )
返回矩阵MatrixID中(RowColumn)的元素,赋值为元组Value
Halcon矩阵(Matrix)算子详解_第17张图片

set_value_matrix

set_value_matrix ( : : MatrixID, Row, Column, Value : )
将元组Value 的值赋值给矩阵MatrixID的(RowColumn)。
Halcon矩阵(Matrix)算子详解_第18张图片

算法(Arithmetic)

分解(Decomposition)

特征值(Eigenvalues)

特性(Features)

determinant_matrix

determinant_matrix ( : : MatrixID, MatrixType : Value )
计算矩阵的行列式。MatrixID矩阵句柄,MatrixType 矩阵类型,Value 结果。
MatrixType 矩阵类型是可选的:‘general’ 常规, 'symmetric’对称矩阵, ‘positive_definite’ 是正定矩阵, ‘tridiagonal’ 三对角矩阵, ‘upper_triangular’ 上三角矩阵, ‘permuted_upper_triangular’ for permuted upper triangular, ‘lower_triangular’ 下三角矩阵, ‘permuted_lower_triangular’ for permuted lower triangular matrices。
Value = det Matrix.
[补充线性代数知识]:
一个n×n的方阵A的行列式记为det(A)或者|A|,一个2×2矩阵的行列式可表示如下:
在这里插入图片描述

一个n×n矩阵的行列式等于其任意行(或列)的元素与对应的代数余子式乘积之和,即
在这里插入图片描述
例如:
Halcon矩阵(Matrix)算子详解_第19张图片

get_size_matrix

get_size_matrix ( : : MatrixID : Rows, Columns )
获得矩阵的大小,返回矩阵MatrixID 的行数Rows和列数Columns
Halcon矩阵(Matrix)算子详解_第20张图片

max_matrix

max_matrix ( : : MatrixID, MaxType : MatrixMaxID )
返回矩阵MatrixID的最大值MatrixMaxID ,最大值类型MaxType 可以是’columns’,’rows’,’full’。
如果MaxType=’columns’,返回各列的最大值:
在这里插入图片描述
如果MaxType=’rows’,返回各行的最大值:
Halcon矩阵(Matrix)算子详解_第21张图片
如果MaxType=’full’,返回矩阵的最大值:
Halcon矩阵(Matrix)算子详解_第22张图片

mean_matrix

mean_matrix ( : : MatrixID, MeanType : MatrixMeanID )
返回矩阵MatrixID的平均值MatrixMeanID ,平均值值类型MeanType 可以是’columns’,’rows’,’full’。
如果MeanType=’columns’,返回各列的平均值:
Halcon矩阵(Matrix)算子详解_第23张图片
如果MeanType=’rows’,返回各行的平均值:
Halcon矩阵(Matrix)算子详解_第24张图片
如果MeanType=’full’,返回矩阵的平均值:
Halcon矩阵(Matrix)算子详解_第25张图片

min_matrix

min_matrix ( : : MatrixID, MinType : MatrixMinID )
返回矩阵MatrixID的最大值MatrixMinID ,最小值类型MinType 可以是’columns’,’rows’,’full’。
如果MinType=’columns’,返回各列的最小值:
Halcon矩阵(Matrix)算子详解_第26张图片

如果MinType=’rows’,返回各行的最小值:
Halcon矩阵(Matrix)算子详解_第27张图片

如果MinType=’full’,返回矩阵的最小值:
Halcon矩阵(Matrix)算子详解_第28张图片

norm_matrix

norm_matrix ( : : MatrixID, NormType : Value )
矩阵MatrixID的范数Value ,范数类型NormType
如果NormType=’frobenius-norm’,计算公式为:
Halcon矩阵(Matrix)算子详解_第29张图片
Halcon矩阵(Matrix)算子详解_第30张图片
如果NormType=’infinity-norm’,计算公式为:
在这里插入图片描述

Halcon矩阵(Matrix)算子详解_第31张图片

如果NormType=’1-norm’,计算公式为:
在这里插入图片描述
Halcon矩阵(Matrix)算子详解_第32张图片

如果NormType=’2-norm’,计算公式为:
在这里插入图片描述Halcon矩阵(Matrix)算子详解_第33张图片

sum_matrix

sum_matrix ( : : MatrixID, SumType : MatrixSumID )
返回矩阵MatrixID的和MatrixSumID ,元素和的类型SumType 可以是’columns’,’rows’,’full’。
如果SumType=’columns’,返回各列元素的和:
在这里插入图片描述

如果SumType=’rows’,返回各行元素的和:
Halcon矩阵(Matrix)算子详解_第34张图片

如果SumType=’full’,返回矩阵所有元素的和:
Halcon矩阵(Matrix)算子详解_第35张图片

文件操作(File)

write_matrix

write_matrix( : : MatrixID, FileFormat, FileName : )
以格式FileFormat写矩阵MatrixID至文件FileName 。格式FileFormat有两种’ascii’, ‘binary’,文件名FileName 尾缀为’mtx’。

read_matrix

read_matrix( : : FileName : MatrixID)
读取由write_matrix算子保存的文件,赋值给矩阵MatrixID。文件名FileName 尾缀为’mtx’。

serialize_matrix

serialize_matrix( : : MatrixID : SerializedItemHandle)
序列化矩阵,矩阵句柄MatrixID 序列化后为SerializedItemHandle。与deserialize_matrix算子成对出现。

deserialize_matrix

deserialize_matrix( : : SerializedItemHandle : MatrixID)
反序列化SerializedItemHandle 为矩阵MatrixID。与serialize_matrix算子成对出现。

你可能感兴趣的:(Halcon,halcon,矩阵,算法)