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);