在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
《zw版·Halcon-delphi系列原创教程》 Halcon分类函数001·3D函数
为方便阅读,在不影响说明的前提下,笔者对函数进行了简化:
【示例】 说明 函数: procedure AddNoiseWhiteContourXld( const Contours: IHUntypedObjectX; out NoisyContours: IHUntypedObjectX; NumRegrPoints: OleVariant; Amp: OleVariant); 简化后为: ** AddNoiseWhiteContourXld( Contours: X; out NoisyContours: X; NumRegrPoints, Amp);
1 《zw版·Halcon-delphi系列原创教程》 Halcon分类函数001·3D函数 2 3 为简化文本,在不影响 4 说明的前提下,笔者对函数进行了简化: 5 :: 用符号“**”,替换:“procedure” 6 :: 用大写字母“X”,替换:“IHUntypedObjectX” 7 :: 省略了字符:“const”、“OleVariant” 8 【示例】 9 说明 10 函数: 11 procedure AddNoiseWhiteContourXld( const Contours: IHUntypedObjectX; out NoisyContours: IHUntypedObjectX; NumRegrPoints: OleVariant; Amp: OleVariant); 12 简化后为: 13 ** AddNoiseWhiteContourXld( Contours: X; out NoisyContours: X; NumRegrPoints, Amp); 14 ---------------------- 15 【《zw版·Halcon-delphi系列原创教程》,网址,cnblogs.com/ziwang/】 16 ---------------------- 17 18 ** 3dFromFundamentalMatrix( Rows1, Cols1, Rows2, Cols2, CovRR1, CovRC1, CovCC1, CovRR2, CovRC2, CovCC2, FMatrix, CovFMat, out X, out Y, out Z, out W, out CovXYZW); 19 说明, 从矩阵建立3d对象 20 21 ** AffineTransObjectModel3D( ObjectModel3D, HomMat3d, out ObjectModel3DAffineTrans); 22 说明, affine_trans_object_model_3d,把一个任意有限3D变换用于一个3D目标模型。 23 24 ** AffineTransPoint3D( HomMat3d, Px, Py, Pz, out Qx, out Qy, out Qz); 25 说明, affine_trans_point_3d,对点运用一个随即仿射三维变换。 26 27 ** AreaObjectModel3D( ObjectModel3D, out Area); 28 说明, 测量3d物体表面面积 29 30 ** CamParPoseToHomMat3d( CameraParam, Pose, out HomMat3d); 31 说明, Cam_Par_Pose_To_Hom_Mat_3d,从相机内部参数计算一个3D汉明矩阵。 32 33 ** ClearAllObjectModel3D; 34 说明, clear_all_object_model_3d,释放所有3D目标模型的内存。 35 36 ** ClearAllShapeModel3D; 37 说明, clear_all_shape_model_3d,释放所有3D轮廓模型的内存。 38 39 ** ClearObjectModel3D( ObjectModel3D); 40 说明, clear_object_model_3d,释放一个3D目标模型的内存。 41 42 ** ClearShapeModel3D( ShapeModel3DID); 43 说明, clear_shape_model_3d,释放一个3D轮廓模型的内存。 44 45 ** ConnectionObjectModel3D( ObjectModel3D, Feature, Value, out ObjectModel3DConnected); 46 47 ** ConvertPoint3DCartToSpher( X, Y, Z, EquatPlaneNormal, ZeroMeridian, out Longitude, out Latitude, out Radius); 48 说明, convert_point_3d_cart_to_spher,把直角坐标系中的一个3D点转变为极坐标。 49 50 ** ConvertPoint3DSpherToCart( Longitude, Latitude, Radius, EquatPlaneNormal, ZeroMeridian, out X, out Y, out Z); 51 说明, convert_point_3d_spher_to_cart,把极坐标中的一个3D点转变为直角坐标。 52 53 ** ConvexHullObjectModel3D( ObjectModel3D, out ObjectModel3DConvexHull); 54 说明, ConvexHullObjectModel3D,影响区域凸性的3D模型系数。 55 56 ** CopyObjectModel3D( ObjectModel3D, Attributes, out CopiedObjectModel3D); 57 说明, 复制3d模型对象 58 59 ** CreateCamPoseLookAtPoint( CamPosX, CamPosY, CamPosZ, LookAtX, LookAtY, LookAtZ, RefPlaneNormal, CamRoll, out CamPose); 60 说明, create_cam_pose_look_at_point,从摄像机中心和观察方向创建一个3D摄像机位置。 61 62 ** CreateShapeModel3D( ObjectModel3D, CamParam, RefRotX, RefRotY, RefRotZ, OrderOfRotation, LongitudeMin, LongitudeMax, LatitudeMin, LatitudeMax, CamRollMin, CamRollMax, DistMin, DistMax, MinContrast, GenParamNames, GenParamValues, out ShapeModel3DID); 63 说明, create_shape_model_3d,为匹配准备一个3D目标模型。 64 65 ** CreateSurfaceModel( ObjectModel3D, RelSamplingDistance, GenParamName, GenParamValue, out SurfaceModelID); 66 说明, 建立表面模型 67 68 ** DeserializeHomMat3d( SerializedItemHandle, out HomMat3d); 69 说明, 3d汉明矩阵数据转换 70 71 ** DeserializeObjectModel3D( SerializedItemHandle, out ObjectModel3D); 72 说明, 3d模型对象数据转换 73 74 ** DeserializeShapeModel3D( SerializedItemHandle, out ShapeModel3DID); 75 说明, 3d轮廓模型数据转换 76 77 ** DisparityImageToXyz( Disparity: X; out X: X; out Y: X; out Z: X; CamParamRect1, CamParamRect2, RelPoseRect); 78 说明, disp_xld,显示物体到3D坐标系。 79 80 ** DisparityToPoint3D( CamParamRect1, CamParamRect2, RelPoseRect, Row1, Col1, Disparity, out X, out Y, out Z); 81 说明, disparity_to_point_3d,将一个图像点和它的不均衡值转换为一个矫正立体系统中的三维点。 82 83 ** DispObjectModel3D( WindowHandle, ObjectModel3D, CamParam, Pose, GenParamName, GenParamValue); 84 85 ** DistanceObjectModel3D( ObjectModel3DFrom, ObjectModel3DTo, Pose, MaxDistance, GenParamNames, GenParamValues); 86 87 ** FindShapeModel3D( Image: X; ShapeModel3DID, MinScore, Greediness, NumLevels, GenParamNames, GenParamValues, out Pose, out CovPose, out Score); 88 说明, find_shape_model_3d,在一个图像中找出一个3D模型的最佳匹配。 89 90 ** FindSurfaceModel( SurfaceModelID, ObjectModel3D, RelSamplingDistance, KeyPointFraction, MinScore, ReturnResultHandle, GenParamName, GenParamValue, out Pose, out Score, out SurfaceMatchingResultID); 91 说明, 找出表面模型 92 93 ** FitPrimitivesObjectModel3D( ObjectModel3D, ParamName, ParamValue, out ObjectModel3DOut); 94 说明, 根据3D模型获取对象 95 96 ** GenBoxObjectModel3D( Pose, LengthX, LengthY, LengthZ, out ObjectModel3D); 97 说明, 生成3d对象框架 98 99 ** GenCylinderObjectModel3D( Pose, Radius, MinExtent, MaxExtent, out ObjectModel3D); 100 说明, 创建3d柱状模型 101 102 ** GenEmptyObjectModel3D( out EmptyObjectModel3D); 103 说明, 创建一个空的3D模型对象。 104 105 ** GenObjectModel3DFromPoints( X, Y, Z, out ObjectModel3D); 106 说明, 从节点生成3d模型对象 107 108 ** GenPlaneObjectModel3D( Pose, XExtent, YExtent, out ObjectModel3D); 109 说明, 生成3d模型平面 110 111 ** GenSphereObjectModel3D( Pose, Radius, out ObjectModel3D); 112 说明, 创建球形3d模型对象 113 114 ** GenSphereObjectModel3DCenter( X, Y, Z, Radius, out ObjectModel3D); 115 说明, 创建中心球形3d模型对象 116 117 ** GetDispObjectModel3DInfo( WindowHandle, Row, Column, Information, out Value); 118 说明, 获取显示3d模型对角信息 119 120 ** GetObjectModel3DParams( ObjectModel3D, ParamName, out ParamValue); 121 说明, get_object_model_3d_params,返回一个3D目标模型的参数。 122 123 ** GetShapeModel3DContours( out ModelContours: X; ShapeModel3DID, Level, View, out ViewPose); 124 说明, get_shape_model_3d_contours,返回一个3D轮廓模型视图的轮廓表示。 125 126 ** GetShapeModel3DParams( ShapeModel3DID, GenParamNames, out GenParamValues); 127 说明, get_shape_model_3d_params,返回一个3D轮廓模型的参数。 128 129 ** GetSheetOfLightResultObjectModel3D( SheetOfLightModelID, out ObjectModel3D); 130 说明, 获取光线表结果,3d模型 131 132 ** GnuplotPlotImage( Image: X; GnuplotFileID, SamplesX, SamplesY, ViewRotX, ViewRotZ, Hidden3D); 133 说明, gnuplot_plot_image,使用gnuplot使一个图像可视化。 134 135 ** HomMat3dCompose( HomMat3dLeft, HomMat3dRight, out HomMat3dCompose); 136 说明, hom_mat3d_compose,将两个同质三维变换矩阵相乘。 137 138 ** HomMat3dDeterminant( HomMat3d, out Determinant); 139 说明, 构建三维变换矩阵。 140 141 ** HomMat3dIdentity( out HomMat3dIdentity); 142 说明, hom_mat3d_identity,构建三维变换同样的齐次变换矩阵。 143 144 ** HomMat3dInvert( HomMat3d, out HomMat3dInvert); 145 说明, hom_mat3d_invert,插入一个同质三维变换矩阵。 146 147 ** HomMat3dProject( HomMat3d, PrincipalPointRow, PrincipalPointCol, Focus, out HomMat2d); 148 说明, hom_mat3d_project,给一个二维投影变换矩阵投影一个仿射三维变换矩阵。 149 150 ** HomMat3dRotate( HomMat3d, Phi, Axis, Px, Py, Pz, out HomMat3dRotate); 151 说明, hom_mat3d_rotate,为一个同质三维变换矩阵添加一个循环。 152 153 ** HomMat3dRotateLocal( HomMat3d, Phi, Axis, out HomMat3dRotate); 154 说明, hom_mat3d_rotate_local,为一个同质三维变换矩阵添加一个循环。 155 156 ** HomMat3dScale( HomMat3d, Sx, Sy, Sz, Px, Py, Pz, out HomMat3dScale); 157 说明, hom_mat3d_scale,为一个同质三维变换矩阵添加一个缩放。 158 159 ** HomMat3dScaleLocal( HomMat3d, Sx, Sy, Sz, out HomMat3dScale); 160 说明, hom_mat3d_scale_local,为一个同质三维变换矩阵添加一个缩放。 161 162 ** HomMat3dToPose( HomMat3d, out Pose); 163 说明, hom_mat3d_to_pose,将一个齐次变换矩阵转换为一个三维模式。 164 165 ** HomMat3dTranslate( HomMat3d, Tx, Ty, Tz, out HomMat3dTranslate); 166 说明, hom_mat3d_translate,为一个同质三维变换矩阵添加一个旋转。 167 168 ** HomMat3dTranslateLocal( HomMat3d, Tx, Ty, Tz, out HomMat3dTranslate); 169 说明, hom_mat3d_translate_local,为一个同质三维变换矩阵添加一个旋转。 170 171 ** HomMat3dTranspose( HomMat3d, out HomMat3dTranspose); 172 说明, 计算齐次变换矩阵。 173 174 ** IntersectPlaneObjectModel3D( ObjectModel3D, Plane, out ObjectModel3DIntersection); 175 说明, 计算3d模型平面交集。 176 177 ** MaxDiameterObjectModel3D( ObjectModel3D, out Diameter); 178 说明, 3d模型最大直径 179 180 ** MomentsObjectModel3D( ObjectModel3D, MomentsToCalculate, out Moments); 181 说明, 3d xld对象被看做点云的轮廓,的几何时刻(moments) 182 183 ** ObjectModel3DToXyz( out X: X; out Y: X; out Z: X; ObjectModel3D, Type_, CamParam, Pose); 184 说明, 3d对象xyz坐标 185 186 ** PoseToHomMat3d( Pose, out HomMat3d); 187 说明, pose_to_hom_mat3d,将一个三位模式转换为一个齐次变换矩阵。 188 189 ** PrepareObjectModel3D( ObjectModel3D, Purpose, OverwriteData, GenParamName, GenParamValue); 190 说明, 为图像准备一个变化模型。 191 192 ** Project3DPoint( X, Y, Z, CameraParam, out Row, out Column); 193 说明, project_3d_point,将三维点投射到子像素图像坐标。 194 195 ** ProjectHomPointHomMat3d( HomMat3d, Px, Py, Pz, Pw, out Qx, out Qy, out Qw); 196 说明, 3D目标模型,投影坐标计算 197 198 ** ProjectiveTransHomPoint3D( HomMat3d, Px, Py, Pz, Pw, out Qx, out Qy, out Qz, out Qw); 199 说明, 3d节点,投影变换矩阵计算 200 201 ** ProjectiveTransObjectModel3D( ObjectModel3D, HomMat3d, out ObjectModel3DProjectiveTrans); 202 203 ** ProjectiveTransPoint3D( HomMat3d, Px, Py, Pz, out Qx, out Qy, out Qz); 204 205 ** ProjectObjectModel3D( out ModelContours: X; ObjectModel3D, CamParam, Pose, GenParamName, GenParamValue); 206 说明, project_object_model_3d,把一个3D目标模型的边缘投影到图像坐标中。 207 208 ** ProjectPointHomMat3d( HomMat3d, Px, Py, Pz, out Qx, out Qy); 209 说明, 3D目标模型,节点投影坐标计算 210 211 ** ProjectShapeModel3D( out ModelContours: X; ShapeModel3DID, CamParam, Pose, HiddenSurfaceRemoval, MinFaceAngle); 212 说明, project_shape_model_3d,把一个3D轮廓模型的边缘投影到图像坐标中。 213 214 ** QuatRotatePoint3D( Quaternion, Px, Py, Pz, out Qx, out Qy, out Qz); 215 说明, Quat旋转矩阵,节点3D旋转 216 217 ** QuatToHomMat3d( Quaternion, out RotationMatrix); 218 说明, Quat旋转矩阵,3D矩阵 219 220 ** ReadObjectModel3D( FileName, Scale, GenParamName, GenParamValue, out ObjectModel3D, out Status); 221 说明, 读取3d模型测量 222 223 ** ReadObjectModel3DDxf( FileName, Scale, GenParamNames, GenParamValues, out ObjectModel3D, out DxfStatus); 224 说明, read_object_model_3d_dxf,从一个DXF文件中读取一个3D目标模型。 225 226 ** ReadShapeModel3D( FileName, out ShapeModel3DID); 227 说明, read_shape_model_3d,从一个文件中读取一个3D轮廓模型。 228 229 ** ReduceObjectModel3DByView( Region: X; ObjectModel3D, CamParam, Pose, out ObjectModel3DReduced); 230 说明, 通过视口,减少图像区域 231 232 ** RefineSurfaceModelPose( SurfaceModelID, ObjectModel3D, InitialPose, MinScore, ReturnResultHandle, GenParamName, GenParamValue, out Pose, out Score, out SurfaceMatchingResultID); 233 说明, 细化表面模型 234 235 ** RegisterObjectModel3DGlobal( ObjectModels3D, HomMats3D, From, To_, GenParamName, GenParamValue, out HomMats3DOut, out Scores); 236 说明, 注册为全局3d模型对象 237 238 ** RegisterObjectModel3DPair( ObjectModel3D1, ObjectModel3D2, Method, GenParamName, GenParamValue, out Pose, out Score); 239 说明, 注册为全局双目3d模型对象 240 241 ** RenderObjectModel3D( out Image: X; ObjectModel3D, CamParam, Pose, GenParamName, GenParamValue); 242 说明, 渲染3d模型对象 243 244 ** RigidTransObjectModel3D( ObjectModel3D, Pose, out ObjectModel3DRigidTrans); 245 说明, 刚性3d模型变换 246 247 ** ructSurfaceStereo( Images: X; StereoModelID, out ObjectModel3D); 248 说明, 从立体表面获取高度 249 250 ** SampleObjectModel3D( ObjectModel3D, Method, SampleDistance, GenParamName, GenParamValue, out SampledObjectModel3D); 251 说明, 3d模型样本 252 253 ** SegmentObjectModel3D( ObjectModel3D, ParamName, ParamValue, out ObjectModel3DOut); 254 255 ** SelectObjectModel3D( ObjectModel3D, Feature, Operation, MinValue, MaxValue, out ObjectModel3DSelected); 256 说明, 选择3d模型目标。 257 258 ** SelectPointsObjectModel3D( ObjectModel3D, Attrib, MinValue, MaxValue, out ObjectModel3DThresholded); 259 说明, 选择3d模型节点。 260 261 ** SerializeHomMat3d( HomMat3d, out SerializedItemHandle); 262 说明, 3d hom矩阵数据序列化 263 264 ** SerializeObjectModel3D( ObjectModel3D, out SerializedItemHandle); 265 说明, 3d模型数据序列化 266 267 ** SerializeShapeModel3D( ShapeModel3DID, out SerializedItemHandle); 268 说明, 3d轮廓数据序列化 269 270 ** SetObjectModel3DAttrib( ObjectModel3D, Name, Type_, Data, out ObjectModel3DOut); 271 说明, 设置3d模型属性 272 273 ** SetObjectModel3DAttribMod( ObjectModel3D, Name, Type_, Data); 274 说明, 设置3d模型属性 275 276 ** SmallestBoundingBoxObjectModel3D( ObjectModel3D, Type_, out Pose, out Length1, out Length2, out Length3); 277 278 ** SmallestSphereObjectModel3D( ObjectModel3D, out CenterPoint, out Radius); 279 说明, 3d模型最小外接球形对象 280 281 ** SmoothObjectModel3D( ObjectModel3D, Method, GenParamName, GenParamValue, out SmoothObjectModel3D); 282 说明, 平滑3d模型 283 284 ** SurfaceNormalsObjectModel3D( ObjectModel3D, Method, GenParamName, GenParamValue, out ObjectModel3DNormals); 285 说明, 3d模型表面 286 287 ** TransPoseShapeModel3D( ShapeModel3DID, PoseIn, Transformation, out PoseOut); 288 说明, trans_pose_shape_model_3d,把一个3D目标模型的坐标系中的位置转变为一个3D轮廓模型的参考坐标系中的位置,反之亦然。 289 290 ** TriangulateObjectModel3D( ObjectModel3D, Method, GenParamName, GenParamValue, out TriangulatedObjectModel3D, out Information); 291 说明, 3角曲面3d模型 292 293 ** UnionObjectModel3D( ObjectModels3D, Method, out UnionObjectModel3D); 294 说明, 合并3d模型 295 296 ** VectorToHomMat3d( TransformationType, Px, Py, Pz, Qx, Qy, Qz, out HomMat3d); 297 说明, 矢量矩阵变换 298 299 ** VolumeObjectModel3DRelativeToPlane( ObjectModel3D, Plane, Mode, UseFaceOrientation, out Volume); 300 说明, 3d模型相对体积平面 301 302 ** WriteObjectModel3D( ObjectModel3D, FileType, FileName, GenParamName, GenParamValue); 303 说明, 保存3d模型数据 304 305 ** WriteShapeModel3D( ShapeModel3DID, FileName); 306 说明, write_shape_model_3d,向一个文件写入一个3D轮廓模型。 307 308 ** XyzToObjectModel3D( X: X; Y: X; Z: X; out ObjectModel3D); 309 说明, xyz坐标到3d模型在;换
|
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论