《zw版·Halcon-delphi系列原创教程》 Halcon分类函数008,matrix,矩阵函数

  1 ** 3dFromFundamentalMatrix( Rows1, Cols1, Rows2, Cols2, CovRR1, CovRC1, CovCC1, CovRR2, CovRC2, CovCC2, FMatrix, CovFMat, out X, out Y, out Z, out W, out CovXYZW); 
  2 说明,  从矩阵建立3d对象
  3 
  4 ** AbsMatrix( MatrixID, out MatrixAbsID); 
  5 说明,  abs_matrix (  :  :  MatrixID :  MatrixAbsID ) ,计算矩阵绝对值
  6 
  7 ** AbsMatrixMod( MatrixID); 
  8 说明,  abs_matrix_mod (  :  :  MatrixID :  ) ,计算矩阵内,指定元素的绝对值
  9 
 10 ** AddMatrix( MatrixAID, MatrixBID, out MatrixSumID); 
 11 说明,  两个矩阵相加
 12 
 13 ** AddMatrixMod( MatrixAID, MatrixBID); 
 14 说明,  两个矩阵取模
 15 
 16 ** CamMatToCamPar( CameraMatrix, Kappa, ImageWidth, ImageHeight, out CameraParam); 
 17 说明,  cam_mat_to_cam_par,计算从一个相机矩阵获取的内部相机参数。
 18 
 19 ** CamParToCamMat( CameraParam, out CameraMatrix, out ImageWidth, out ImageHeight); 
 20 说明,  cam_par_to_cam_mat,从相机内部参数计算一个相机矩阵。
 21 
 22 ** ClearMatrix( MatrixID); 
 23 说明,  清除矩阵
 24 
 25 ** CoocFeatureMatrix( CoocMatrix: X; out Energy, out Correlation, out Homogeneity, out Contrast); 
 26 说明,  cooc_feature_matrix,从一个同时出现的矩阵计算灰度值特征。
 27 
 28 ** CopyMatrix( MatrixID, out MatrixCopyID); 
 29 说明,  复制矩阵
 30 
 31 ** CreateMatrix( Rows, Columns, Value, out MatrixID); 
 32 说明,  建立矩阵
 33 
 34 ** DecomposeMatrix( MatrixID, MatrixType, out Matrix1ID, out Matrix2ID); 
 35 说明,  矩阵转换
 36 
 37 ** DeserializeMatrix( SerializedItemHandle, out MatrixID); 
 38 说明,  矩阵数据转换
 39 
 40 ** DeterminantMatrix( MatrixID, MatrixType, out Value); 
 41 说明,  确定矩阵参数。
 42 
 43 ** DivElementMatrix( MatrixAID, MatrixBID, out MatrixDivID); 
 44 说明,  矩阵内部数据相除
 45 
 46 ** DivElementMatrixMod( MatrixAID, MatrixBID); 
 47 说明,  矩阵内部数据取模
 48 
 49 ** EigenvaluesGeneralMatrix( MatrixID, ComputeEigenvectors, out EigenvaluesRealID, out EigenvaluesImagID, out EigenvectorsRealID, out EigenvectorsImagID); 
 50 说明,  通用特征矩阵
 51 
 52 ** EigenvaluesSymmetricMatrix( MatrixID, ComputeEigenvectors, out EigenvaluesID, out EigenvectorsID); 
 53 说明,  对策特征矩阵
 54 
 55 ** EssentialToFundamentalMatrix( EMatrix, CovEMat, CamMat1, CamMat2, out FMatrix, out CovFMat); 
 56 说明,  essential_to_fundamental_matrix,计算一个从原始矩阵衍生而来的基本矩阵。
 57 
 58 ** GenBinocularProjRectification( out Map1: X; out Map2: X; FMatrix, CovFMat, Width1, Height1, Width2, Height2, SubSampling, Mapping, out CovFMatRect, out H1, out H2); 
 59 说明,  gen_binocular_proj_rectification,计算弱双目视觉立体系统图像的投射矫正值。
 60 
 61 ** GenCoocMatrix( Regions: X; Image: X; out Matrix: X; LdGray, Direction); 
 62 说明,  gen_cooc_matrix,在一个图像中计算一个区域中同时出现的矩阵。
 63 
 64 ** GeneralizedEigenvaluesGeneralMatrix( MatrixAID, MatrixBID, ComputeEigenvectors, out EigenvaluesRealID, out EigenvaluesImagID, out EigenvectorsRealID, out EigenvectorsImagID); 
 65 说明,  生成对象特征矩阵
 66 
 67 ** GeneralizedEigenvaluesSymmetricMatrix( MatrixAID, MatrixBID, ComputeEigenvectors, out EigenvaluesID, out EigenvectorsID); 
 68 说明,  生成对象同步矩阵
 69 
 70 ** GetDiagonalMatrix( MatrixID, Diagonal, out VectorID); 
 71 说明,  获取对角矩阵
 72 
 73 ** GetFullMatrix( MatrixID, out Values); 
 74 说明,  获取全矩阵
 75 
 76 ** GetSizeMatrix( MatrixID, out Rows, out Columns); 
 77 说明,  获取矩阵大小
 78 
 79 ** GetSubMatrix( MatrixID, Row, Column, RowsSub, ColumnsSub, out MatrixSubID); 
 80 说明,  获取子矩阵
 81 
 82 ** GetValueMatrix( MatrixID, Row, Column, out Value);
 83 
 84 ** InvertMatrix( MatrixID, MatrixType, Epsilon, out MatrixInvID); 
 85 说明,  反转矩阵
 86 
 87 ** InvertMatrixMod( MatrixID, MatrixType, Epsilon); 
 88 说明,  反转矩阵取模
 89 
 90 ** MatchEssentialMatrixRansac( Image1: X; Image2: X; Rows1, Cols1, Rows2, Cols2, CamMat1, CamMat2, GrayMatchMethod, MaskSize, RowMove, ColMove, RowTolerance, ColTolerance, Rotation, MatchThreshold, EstimationMethod, DistanceThreshold, RandSeed, out EMatrix, out CovEMat, out Error, out Points1, out Points2); 
 91 说明,  按RANSA算法匹配矩阵
 92 
 93 ** MatchFundamentalMatrixDistortionRansac( Image1: X; Image2: X; Rows1, Cols1, Rows2, Cols2, GrayMatchMethod, MaskSize, RowMove, ColMove, RowTolerance, ColTolerance, Rotation, MatchThreshold, EstimationMethod, DistanceThreshold, RandSeed, out FMatrix, out Kappa, out Error, out Points1, out Points2); 
 94 说明,  按RANSA算法匹配矩阵,有失真度参数
 95 
 96 ** MatchFundamentalMatrixRansac( Image1: X; Image2: X; Rows1, Cols1, Rows2, Cols2, GrayMatchMethod, MaskSize, RowMove, ColMove, RowTolerance, ColTolerance, Rotation, MatchThreshold, EstimationMethod, DistanceThreshold, RandSeed, out FMatrix, out CovFMat, out Error, out Points1, out Points2); 
 97 说明,  按RANSA算法匹配矩阵,基本匹配
 98 
 99 ** MaxMatrix( MatrixID, MaxType, out MatrixMaxID);
100 
101 ** MeanMatrix( MatrixID, MeanType, out MatrixMeanID);
102 
103 ** MinMatrix( MatrixID, MinType, out MatrixMinID); 
104 说明,  矩阵最小值
105 
106 ** MultElementMatrix( MatrixAID, MatrixBID, out MatrixMultID); 
107 说明,  多个矩阵元素相乘。
108 
109 ** MultElementMatrixMod( MatrixAID, MatrixBID); 
110 说明,  多个矩阵元素取模
111 
112 ** MultMatrix( MatrixAID, MatrixBID, MultType, out MatrixMultID); 
113 说明,  多个矩阵变换
114 
115 ** MultMatrixMod( MatrixAID, MatrixBID, MultType); 
116 说明,  多个矩阵取模
117 
118 ** NormMatrix( MatrixID, NormType, out Value);
119 
120 ** OrthogonalDecomposeMatrix( MatrixID, DecompositionType, out putMatricesType, ComputeOrthogonal, out MatrixOrthogonalID, out MatrixTriangularID); 
121 说明,  正交变形矩阵
122 
123 ** PowElementMatrix( MatrixID, MatrixExpID, out MatrixPowID); 
124 说明,  矩阵元素乘方
125 
126 ** PowElementMatrixMod( MatrixID, MatrixExpID); 
127 说明,  矩阵元素乘方取模
128 
129 ** PowMatrix( MatrixID, MatrixType, Power, out MatrixPowID); 
130 说明,  矩阵乘方值
131 
132 ** PowMatrixMod( MatrixID, MatrixType, Power); 
133 说明,  矩阵乘方值取模
134 
135 ** PowScalarElementMatrix( MatrixID, Power, out MatrixPowID); 
136 说明,  可变矩阵乘方值
137 
138 ** PowScalarElementMatrixMod( MatrixID, Power); 
139 说明,  可变矩阵乘方值取模
140 
141 ** ProjHomMat2dToPose( Homography, CameraMatrix, Method, out Pose); 
142 说明,  2d矩阵姿态投影
143 
144 ** QuatToHomMat3d( Quaternion, out RotationMatrix); 
145 说明,  Quat旋转矩阵,3D矩阵
146 
147 ** ReadMatrix( FileName, out MatrixID); 
148 说明,  读取矩阵数据
149 
150 ** RelPoseToFundamentalMatrix( RelPose, CovRelPose, CamPar1, CamPar2, out FMatrix, out CovFMat); 
151 说明,  rel_pose_to_fundamental_matrix,计算两个相机相关方向中获取的基本矩阵。
152 
153 ** RepeatMatrix( MatrixID, Rows, Columns, out MatrixRepeatedID); 
154 说明,  重复矩阵
155 
156 ** ScaleMatrix( MatrixID, Factor, out MatrixScaledID); 
157 说明,  矩阵缩放
158 
159 ** ScaleMatrixMod( MatrixID, Factor); 
160 说明,  矩阵缩放取模
161 
162 ** SerializeMatrix( MatrixID, out SerializedItemHandle); 
163 说明,  矩阵数据序列化
164 
165 ** SetDiagonalMatrix( MatrixID, VectorID, Diagonal); 
166 说明,  设置正交矩阵参数
167 
168 ** SetFullMatrix( MatrixID, Values); 
169 说明,  设置矩阵参数
170 
171 ** SetSubMatrix( MatrixID, MatrixSubID, Row, Column); 
172 说明,  设置子矩阵参数
173 
174 ** SetValueMatrix( MatrixID, Row, Column, Value); 
175 说明,  设置矩阵变量
176 
177 ** SolveMatrix( MatrixLHSID, MatrixLHSType, Epsilon, MatrixRHSID, out MatrixResultID); 
178 说明,  Solve矩阵
179 
180 ** SqrtMatrix( MatrixID, out MatrixSqrtID); 
181 说明,  矩阵的平方根。
182 
183 ** SqrtMatrixMod( MatrixID); 
184 说明,  矩阵的平方根,取模
185 
186 ** SubMatrix( MatrixAID, MatrixBID, out MatrixSubID); 
187 说明,  矩阵相减模
188 
189 ** SubMatrixMod( MatrixAID, MatrixBID); 
190 说明,  矩阵相减,取模
191 
192 ** SumMatrix( MatrixID, SumType, out MatrixSumID); 
193 说明,  矩阵求和
194 
195 ** SvdMatrix( MatrixID, SVDType, ComputeSingularVectors, out MatrixUID, out MatrixSID, out MatrixVID); 
196 说明,  矩阵svd奇异值分解
197 
198 ** TransposeMatrix( MatrixID, out MatrixTransposedID);
199 
200 ** TransposeMatrixMod( MatrixID);
201 
202 ** VectorToEssentialMatrix( Rows1, Cols1, Rows2, Cols2, CovRR1, CovRC1, CovCC1, CovRR2, CovRC2, CovCC2, CamMat1, CamMat2, Method, out EMatrix, out CovEMat, out Error, out X, out Y, out Z, out CovXYZ); 
203 说明,  vector_to_essential_matrix,计算给定图像点间映射和已知相机矩阵的原始矩阵,重建三维点。
204 
205 ** VectorToFundamentalMatrix( Rows1, Cols1, Rows2, Cols2, CovRR1, CovRC1, CovCC1, CovRR2, CovRC2, CovCC2, Method, out FMatrix, out CovFMat, out Error, out X, out Y, out Z, out W, out CovXYZW); 
206 说明,  vector_to_fundamental_matrix,计算给定图像点间对应关系和已知相机参数的两个相机的相对方位,重建三维点。
207 
208 ** VectorToFundamentalMatrixDistortion( Rows1, Cols1, Rows2, Cols2, CovRR1, CovRC1, CovCC1, CovRR2, CovRC2, CovCC2, ImageWidth, ImageHeight, Method, out FMatrix, out Kappa, out Error, out X, out Y, out Z, out W); 
209 说明,  矢量矩阵失真变换
210 
211 ** WriteMatrix( MatrixID, FileFormat, FileName); 
212 说明,  保存矩阵数据

《zw版·Halcon-delphi系列原创教程》 Halcon分类函数008,matrix,矩阵函数

为方便阅读,在不影响说明的前提下,笔者对函数进行了简化:

  • :: 用符号“**”,替换:“procedure”
  • :: 用大写字母“X”,替换:“IHUntypedObjectX”
  • :: 省略了字符:“const”、“OleVariant”

【示例】 说明

函数:

procedure AddNoiseWhiteContourXld( const Contours: IHUntypedObjectX; out NoisyContours: IHUntypedObjectX; NumRegrPoints: OleVariant; Amp: OleVariant);

简化后为:

** AddNoiseWhiteContourXld( Contours: X; out NoisyContours: X; NumRegrPoints, Amp);