Halcon矩阵(Matrix)算子详解

创建(Creation)

create_matrix

create_matrix ( : : Rows, Columns, Value : MatrixID )
创建一个新矩阵,Rows行,Columns列,Value 数值,MatrixID 矩阵句柄。
如果Value=’identity’,生成单位矩阵:
在这里插入图片描述
如果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:在这里插入图片描述

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,则返回主对角线元素:
在这里插入图片描述
如果Diagonal 为正值,则返回右上角元素:
在这里插入图片描述
如果Diagonal 为负值,则返回左下角元素:
在这里插入图片描述

set_diagonal_matrix

set_diagonal_matrix ( : : MatrixID, VectorID, Diagonal : )
用向量VectorID的值,重写矩阵MatrixID的对角元素,Diagonal 对角值。向量VectorID必须为一行或一列。
如果Diagonal =0,则覆盖主对角元素:
在这里插入图片描述
如果VectorID仅包含一个元素,则对角线元素均覆盖为该元素:
在这里插入图片描述
如果Diagonal为正值,则覆盖右上角元素:
在这里插入图片描述
在这里插入图片描述
如果Diagonal为负值,则覆盖左下角元素:
在这里插入图片描述
在这里插入图片描述

get_full_matrix

get_full_matrix ( : : MatrixID : Values )
返回矩阵的所有元素,MatrixID 矩阵句柄,Values 浮点型元组,逐行保存。
在这里插入图片描述
在这里插入图片描述

set_full_matrix

set_full_matrix ( : : MatrixID, Values : )
将元组Values 的值赋给矩阵句柄MatrixID。
Note:效果与 create_matrix相同,优势在于重用不再用的矩阵。
在这里插入图片描述
在这里插入图片描述

get_sub_matrix

get_sub_matrix ( : : MatrixID, Row, Column, RowsSub,ColumnsSub : MatrixSubID )
复制MatrixID的子矩阵,产生新矩阵MatrixSubID,子矩阵由左上角 (Row,Column) 和子矩阵维度(RowsSub, ColumnsSub)决定。
ATT:需要满足条件:0 <= Row <MatrixID矩阵行数,Row + RowsSub <=MatrixID矩阵行数,0 <= Column<MatrixID矩阵列数,Column+ ColumnSub <=MatrixID矩阵列数。
在这里插入图片描述

set_sub_matrix

set_sub_matrix ( : : MatrixID, MatrixSubID, Row, Column : )
将矩阵MatrixSubID作为子矩阵重写MatrixID,左上角坐标(Row, Column)。
ATT:需要满足条件:0 <= Row <MatrixID矩阵行数,Row + RowsSub <=MatrixID矩阵行数,0 <= Column<MatrixID矩阵列数,Column+ ColumnSub <=MatrixID矩阵列数。
在这里插入图片描述

get_value_matrix

get_value_matrix ( : : MatrixID, Row, Column : Value )
返回矩阵MatrixID中(RowColumn)的元素,赋值为元组Value
在这里插入图片描述

set_value_matrix

set_value_matrix ( : : MatrixID, Row, Column, Value : )
将元组Value 的值赋值给矩阵MatrixID的(RowColumn)。
在这里插入图片描述

算法(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矩阵的行列式等于其任意行(或列)的元素与对应的代数余子式乘积之和,即
在这里插入图片描述
例如:
在这里插入图片描述

get_size_matrix

get_size_matrix ( : : MatrixID : Rows, Columns )
获得矩阵的大小,返回矩阵MatrixID 的行数Rows和列数Columns
在这里插入图片描述

max_matrix

max_matrix ( : : MatrixID, MaxType : MatrixMaxID )
返回矩阵MatrixID的最大值MatrixMaxID ,最大值类型MaxType 可以是’columns’,’rows’,’full’。
如果MaxType=’columns’,返回各列的最大值:
在这里插入图片描述
如果MaxType=’rows’,返回各行的最大值:
在这里插入图片描述
如果MaxType=’full’,返回矩阵的最大值:
在这里插入图片描述

mean_matrix

mean_matrix ( : : MatrixID, MeanType : MatrixMeanID )
返回矩阵MatrixID的平均值MatrixMeanID ,平均值值类型MeanType 可以是’columns’,’rows’,’full’。
如果MeanType=’columns’,返回各列的平均值:
在这里插入图片描述
如果MeanType=’rows’,返回各行的平均值:
在这里插入图片描述
如果MeanType=’full’,返回矩阵的平均值:
在这里插入图片描述

min_matrix

min_matrix ( : : MatrixID, MinType : MatrixMinID )
返回矩阵MatrixID的最大值MatrixMinID ,最小值类型MinType 可以是’columns’,’rows’,’full’。
如果MinType=’columns’,返回各列的最小值:
在这里插入图片描述

如果MinType=’rows’,返回各行的最小值:
在这里插入图片描述

如果MinType=’full’,返回矩阵的最小值:
在这里插入图片描述

norm_matrix

norm_matrix ( : : MatrixID, NormType : Value )
矩阵MatrixID的范数Value ,范数类型NormType
如果NormType=’frobenius-norm’,计算公式为:
在这里插入图片描述
在这里插入图片描述
如果NormType=’infinity-norm’,计算公式为:
在这里插入图片描述

在这里插入图片描述

如果NormType=’1-norm’,计算公式为:
在这里插入图片描述
在这里插入图片描述

如果NormType=’2-norm’,计算公式为:
在这里插入图片描述在这里插入图片描述

sum_matrix

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

如果SumType=’rows’,返回各行元素的和:
在这里插入图片描述

如果SumType=’full’,返回矩阵所有元素的和:
在这里插入图片描述

文件操作(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算子成对出现。

  • 5
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值