• 《zw版·Halcon-delphi系列原创教程》 Halcon分类函数010,obj,对象管理


    《zw版·Halcon-delphi系列原创教程》 Halcon分类函数010,obj,对象管理


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

    • :: 用符号“**”,替换:“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);

      1 ** AddMetrologyObjectCircleMeasure( MetrologyHandle, Row, Column, Radius, MeasureLength1, MeasureLength2, MeasureSigma, MeasureThreshold, GenParamName, GenParamValue, out Index); 
      2 说明,  add_metrology_object_circle_measure (  :  :  MetrologyHandle, Row,Column, Radius, MeasureLength1, MeasureLength2, MeasureSigma,MeasureThreshold, GenParamName, GenParamValue :  Index )
      3 
      4 ** AddMetrologyObjectEllipseMeasure( MetrologyHandle, Row, Column, Phi, Radius1, Radius2, MeasureLength1, MeasureLength2, MeasureSigma, MeasureThreshold, GenParamName, GenParamValue, out Index); 
      5 说明,  增加一个椭圆或弧形物体,到测量模型当中
      6 
      7 ** AddMetrologyObjectLineMeasure( MetrologyHandle, RowBegin, ColumnBegin, RowEnd, ColumnEnd, MeasureLength1, MeasureLength2, MeasureSigma, MeasureThreshold, GenParamName, GenParamValue, out Index); 
      8 说明,  增加一个线型物体,到测量模型当中
      9 
     10 ** AddMetrologyObjectRectangle2Measure( MetrologyHandle, Row, Column, Phi, Length1, Length2, MeasureLength1, MeasureLength2, MeasureSigma, MeasureThreshold, GenParamName, GenParamValue, out Index); 
     11 说明,  增加一个矩形物体,到测量模型当中
     12 
     13 ** AddSampleIdentifierPreparationData( SampleImage: X; SampleIdentifier, ObjectIdx, GenParamName, GenParamValue, out ObjectSampleIdx); 
     14 说明,  增加预设标定数据
     15 
     16 ** AddSampleIdentifierTrainingData( SampleImage: X; SampleIdentifier, ObjectIdx, GenParamName, GenParamValue, out ObjectSampleIdx); 
     17 说明,  增加标定训练数据
     18 
     19 ** AffineTransObjectModel3D( ObjectModel3D, HomMat3d, out ObjectModel3DAffineTrans); 
     20 说明,  affine_trans_object_model_3d,把一个任意有限3D变换用于一个3D目标模型。
     21 
     22 ** ApplySampleIdentifier( Image: X; SampleIdentifier, NumResults, RatingThreshold, GenParamName, GenParamValue, out ObjectIdx, out Rating); 
     23 说明,  应用样本标识
     24 
     25 ** AreaObjectModel3D( ObjectModel3D, out Area); 
     26 说明,  测量3d物体表面面积
     27 
     28 ** ClearAllObjectModel3D; 
     29 说明,  clear_all_object_model_3d,释放所有3D目标模型的内存。
     30 
     31 ** ClearMetrologyObject( MetrologyHandle, Indices); 
     32 说明,  清除计量对象
     33 
     34 ** ClearObj( Objects: X); 
     35 说明,  clear_obj,将一个对象的图标从HALCON数据库中删除。
     36 
     37 ** ClearObjectModel3D( ObjectModel3D); 
     38 说明,  clear_object_model_3d,释放一个3D目标模型的内存。
     39 
     40 ** ConcatObj( Objects1: X; Objects2: X; out ObjectsConcat: X); 
     41 说明,  concat_obj,连接两个目标元组的图标。
     42 
     43 ** ConnectionObjectModel3D( ObjectModel3D, Feature, Value, out ObjectModel3DConnected);
     44 
     45 ** ConvexHullObjectModel3D( ObjectModel3D, out ObjectModel3DConvexHull); 
     46 说明,  ConvexHullObjectModel3D,影响区域凸性的3D模型系数。
     47 
     48 ** CopyMetrologyObject( MetrologyHandle, Indices, out CopiedIndices); 
     49 说明,  复制计量对象
     50 
     51 ** CopyObj( Objects: X; out ObjectsSelected: X; Index, NumObj); 
     52 说明,  copy_obj,复制一个HALCON数据库中对象的图标 。
     53 
     54 ** CopyObjectModel3D( ObjectModel3D, Attributes, out CopiedObjectModel3D); 
     55 说明,  复制3d模型对象
     56 
     57 ** CountObj( Objects: X; out Number); 
     58 说明,  count_obj,统计一个元组中的对象。
     59 
     60 ** CreateCalibData( CalibSetup, NumCameras, NumCalibObjects, out CalibDataID); 
     61 说明,  建立校准数据
     62 
     63 ** CreateShapeModel3D( ObjectModel3D, CamParam, RefRotX, RefRotY, RefRotZ, OrderOfRotation, LongitudeMin, LongitudeMax, LatitudeMin, LatitudeMax, CamRollMin, CamRollMax, DistMin, DistMax, MinContrast, GenParamNames, GenParamValues, out ShapeModel3DID); 
     64 说明,  create_shape_model_3d,为匹配准备一个3D目标模型。
     65 
     66 ** CreateSurfaceModel( ObjectModel3D, RelSamplingDistance, GenParamName, GenParamValue, out SurfaceModelID); 
     67 说明,  建立表面模型
     68 
     69 ** DeserializeObject( out Object_: X; SerializedItemHandle); 
     70 说明,  对象数据转换
     71 
     72 ** DeserializeObjectModel3D( SerializedItemHandle, out ObjectModel3D); 
     73 说明,  3d模型对象数据转换
     74 
     75 ** DispObj( Object_: X; WindowHandle); 
     76 说明,  disp_obj,显示图像目标(图像,区域,XLD)。
     77 
     78 ** DispObjectModel3D( WindowHandle, ObjectModel3D, CamParam, Pose, GenParamName, GenParamValue);
     79 
     80 ** DispXld( XLDObject: X; WindowHandle); 
     81 说明,  disp_xld,显示一个XLD物体。
     82 
     83 ** DistanceObjectModel3D( ObjectModel3DFrom, ObjectModel3DTo, Pose, MaxDistance, GenParamNames, GenParamValues);
     84 
     85 ** FindCalibObject( Image: X; CalibDataID, CameraIdx, CalibObjIdx, CalibObjPoseIdx, GenParamName, GenParamValue); 
     86 说明,  检测校准对象
     87 
     88 ** FindSurfaceModel( SurfaceModelID, ObjectModel3D, RelSamplingDistance, KeyPointFraction, MinScore, ReturnResultHandle, GenParamName, GenParamValue, out Pose, out Score, out SurfaceMatchingResultID); 
     89 说明,  找出表面模型
     90 
     91 ** FitPrimitivesObjectModel3D( ObjectModel3D, ParamName, ParamValue, out ObjectModel3DOut); 
     92 说明,  根据3D模型获取对象
     93 
     94 ** GenBoxObjectModel3D( Pose, LengthX, LengthY, LengthZ, out ObjectModel3D); 
     95 说明,  生成3d对象框架
     96 
     97 ** GenCylinderObjectModel3D( Pose, Radius, MinExtent, MaxExtent, out ObjectModel3D); 
     98 说明,  创建3d柱状模型
     99 
    100 ** GenEmptyObj( out EmptyObject: X); 
    101 说明,  gen_empty_obj,创建一个空的目标元组。
    102 
    103 ** GenEmptyObjectModel3D( out EmptyObjectModel3D); 
    104 说明,  创建一个空的3D模型对象。
    105 
    106 ** GenObjectModel3DFromPoints( X, Y, Z, out ObjectModel3D); 
    107 说明,  从节点生成3d模型对象
    108 
    109 ** GenPlaneObjectModel3D( Pose, XExtent, YExtent, out ObjectModel3D); 
    110 说明,  生成3d模型平面
    111 
    112 ** GenSphereObjectModel3D( Pose, Radius, out ObjectModel3D); 
    113 说明,  创建球形3d模型对象
    114 
    115 ** GenSphereObjectModel3DCenter( X, Y, Z, Radius, out ObjectModel3D); 
    116 说明,  创建中心球形3d模型对象
    117 
    118 ** GetBarCodeObject( out BarCodeObjects: X; BarCodeHandle, CandidateHandle, ObjectName); 
    119 说明,  get_bar_code_object,访问创建在搜寻或条形码符号解码过程中的对象图标。
    120 
    121 ** GetCalibDataObservContours( out Contours: X; CalibDataID, ContourName, CameraIdx, CalibObjIdx, CalibObjPoseIdx); 
    122 说明,  获取校准数据轮廓
    123 
    124 ** GetCalibDataObservPoints( CalibDataID, CameraIdx, CalibObjIdx, CalibObjPoseIdx, out Row, out Column, out Index, out Pose); 
    125 说明,  获取校准数据节点
    126 
    127 ** GetCalibDataObservPose( CalibDataID, CameraIdx, CalibObjIdx, CalibObjPoseIdx, out ObjInCameraPose); 
    128 说明,  获取校准数据姿势
    129 
    130 ** GetChannelInfo( Object_: X; Request, Channel, out Information); 
    131 说明,  get_channel_info,一幅目标图像组成部分的信息。
    132 
    133 ** GetDataCode2DObjects( out DataCodeObjects: X; DataCodeHandle, CandidateHandle, ObjectName); 
    134 说明,  get_data_code_2d_objects,查询搜索二维数据编码符号过程中创建的对象的图标。
    135 
    136 ** GetDescriptorModelResults( ModelID, ObjectID, ResultNames, out Results); 
    137 说明,  获取描述模型结果
    138 
    139 ** GetDispObjectModel3DInfo( WindowHandle, Row, Column, Information, out Value); 
    140 说明,  获取显示3d模型对角信息
    141 
    142 ** GetMetrologyObjectFuzzyParam( MetrologyHandle, Indices, GenParamName, out GenParamValue); 
    143 说明,  获取计量对象模糊参数
    144 
    145 ** GetMetrologyObjectIndices( MetrologyHandle, out Indices); 
    146 说明,  获取计量对象指数参数
    147 
    148 ** GetMetrologyObjectMeasures( out Contour: X; MetrologyHandle, Indices, Transition, out Row, out Column); 
    149 说明,  获取计量对象均值参数
    150 
    151 ** GetMetrologyObjectNumInstances( MetrologyHandle, Indices, out NumInstances); 
    152 说明,  获取计量对象均值参数
    153 
    154 ** GetMetrologyObjectParam( MetrologyHandle, Indices, GenParamName, out GenParamValue); 
    155 说明,  获取计量对象参数
    156 
    157 ** GetMetrologyObjectResult( MetrologyHandle, Indices, Instance, GenParamName, GenParamValue, out Parameter); 
    158 说明,  获取计量对象结果参数
    159 
    160 ** GetObjClass( Object_: X; out Class_); 
    161 说明,  get_obj_class,一副目标图像类的名称。
    162 
    163 ** GetObjectModel3DParams( ObjectModel3D, ParamName, out ParamValue); 
    164 说明,  get_object_model_3d_params,返回一个3D目标模型的参数。
    165 
    166 ** GetParamNames( ProcName, out InpObjPar, out OutpObjPar, out InpCtrlPar, out OutpCtrlPar); 
    167 说明,  get_param_names,获取一个HALCON程序参数的名字。
    168 
    169 ** GetParamNum( ProcName, out CName, out InpObjPar, out OutpObjPar, out InpCtrlPar, out OutpCtrlPar, out Type_); 
    170 说明,  get_param_num,获取一个HALCON程序不同参数类的数目。
    171 
    172 ** GetSampleIdentifierObjectInfo( SampleIdentifier, ObjectIdx, InfoName, out InfoValue); 
    173 说明,  获取标识样本信息
    174 
    175 ** GetSheetOfLightResultObjectModel3D( SheetOfLightModelID, out ObjectModel3D); 
    176 说明,  获取光线表结果,3d模型
    177 
    178 ** GetStereoModelObject( out Object_: X; StereoModelID, PairIndex, ObjectName); 
    179 说明,  获取立体模型对象
    180 
    181 ** GetTextObject( out Characters: X; TextResultID, ResultName); 
    182 说明,  获取文本对象
    183 
    184 ** IntegerToObj( out Objects: X; SurrogateTuple); 
    185 说明,  integer_to_obj,将一个整型数转换为一个图标。
    186 
    187 ** IntersectPlaneObjectModel3D( ObjectModel3D, Plane, out ObjectModel3DIntersection); 
    188 说明,  计算3d模型平面交集。
    189 
    190 ** MaxDiameterObjectModel3D( ObjectModel3D, out Diameter); 
    191 说明,  3d模型最大直径
    192 
    193 ** MomentsObjectModel3D( ObjectModel3D, MomentsToCalculate, out Moments); 
    194 说明,  3d xld对象被看做点云的轮廓,的几何时刻(moments)
    195 
    196 ** ObjDiff( Objects: X; ObjectsSub: X; out ObjectsDiff: X); 
    197 说明,  对象差值
    198 
    199 ** ObjectModel3DToXyz( out X: X; out Y: X; out Z: X; ObjectModel3D, Type_, CamParam, Pose); 
    200 说明,  3d对象xyz坐标
    201 
    202 ** ObjToInteger( Objects: X; Index, Number, out SurrogateTuple); 
    203 说明,  obj_to_integer,将一个图标转换为一个整型数。
    204 
    205 ** PrepareObjectModel3D( ObjectModel3D, Purpose, OverwriteData, GenParamName, GenParamValue); 
    206 说明,  为图像准备一个变化模型。
    207 
    208 ** ProjectiveTransObjectModel3D( ObjectModel3D, HomMat3d, out ObjectModel3DProjectiveTrans);
    209 
    210 ** ProjectObjectModel3D( out ModelContours: X; ObjectModel3D, CamParam, Pose, GenParamName, GenParamValue); 
    211 说明,  project_object_model_3d,把一个3D目标模型的边缘投影到图像坐标中。
    212 
    213 ** ReadObjectModel3D( FileName, Scale, GenParamName, GenParamValue, out ObjectModel3D, out Status); 
    214 说明,  读取3d模型测量
    215 
    216 ** ReadObjectModel3DDxf( FileName, Scale, GenParamNames, GenParamValues, out ObjectModel3D, out DxfStatus); 
    217 说明,  read_object_model_3d_dxf,从一个DXF文件中读取一个3D目标模型。
    218 
    219 ** ReduceObjectModel3DByView( Region: X; ObjectModel3D, CamParam, Pose, out ObjectModel3DReduced); 
    220 说明,  通过视口,减少图像区域
    221 
    222 ** RefineSurfaceModelPose( SurfaceModelID, ObjectModel3D, InitialPose, MinScore, ReturnResultHandle, GenParamName, GenParamValue, out Pose, out Score, out SurfaceMatchingResultID); 
    223 说明,  细化表面模型
    224 
    225 ** RegisterObjectModel3DGlobal( ObjectModels3D, HomMats3D, From, To_, GenParamName, GenParamValue, out HomMats3DOut, out Scores); 
    226 说明,  注册为全局3d模型对象
    227 
    228 ** RegisterObjectModel3DPair( ObjectModel3D1, ObjectModel3D2, Method, GenParamName, GenParamValue, out Pose, out Score); 
    229 说明,  注册为全局双目3d模型对象
    230 
    231 ** RemoveSampleIdentifierPreparationData( SampleIdentifier, ObjectIdx, ObjectSampleIdx); 
    232 说明,  删除样本标识
    233 
    234 ** RemoveSampleIdentifierTrainingData( SampleIdentifier, ObjectIdx, ObjectSampleIdx); 
    235 说明,  删除样本标识训练数据
    236 
    237 ** RenderObjectModel3D( out Image: X; ObjectModel3D, CamParam, Pose, GenParamName, GenParamValue); 
    238 说明,  渲染3d模型对象
    239 
    240 ** ResetMetrologyObjectFuzzyParam( MetrologyHandle, Indices); 
    241 说明,  复位计量对象数据
    242 
    243 ** ResetMetrologyObjectParam( MetrologyHandle, Indices); 
    244 说明,  复位计量对象数据参数
    245 
    246 ** ResetObjDb( DefaultImageWidth, DefaultImageHeight, DefaultChannels); 
    247 说明,  reset_obj_db,HALCON系统的初始化。
    248 
    249 ** RigidTransObjectModel3D( ObjectModel3D, Pose, out ObjectModel3DRigidTrans); 
    250 说明,  刚性3d模型变换
    251 
    252 ** ructSurfaceStereo( Images: X; StereoModelID, out ObjectModel3D); 
    253 说明,  从立体表面获取高度
    254 
    255 ** SampleObjectModel3D( ObjectModel3D, Method, SampleDistance, GenParamName, GenParamValue, out SampledObjectModel3D); 
    256 说明,  3d模型样本
    257 
    258 ** SegmentObjectModel3D( ObjectModel3D, ParamName, ParamValue, out ObjectModel3DOut);
    259 
    260 ** SelectObj( Objects: X; out ObjectSelected: X; Index); 
    261 说明,  select_obj,从一个目标元组中选择目标。
    262 
    263 ** SelectObjectModel3D( ObjectModel3D, Feature, Operation, MinValue, MaxValue, out ObjectModel3DSelected); 
    264 说明,  选择3d模型目标。
    265 
    266 ** SelectPointsObjectModel3D( ObjectModel3D, Attrib, MinValue, MaxValue, out ObjectModel3DThresholded); 
    267 说明,  选择3d模型节点。
    268 
    269 ** SerializeObject( Object_: X; out SerializedItemHandle); 
    270 说明,  对象数据序列化
    271 
    272 ** SerializeObjectModel3D( ObjectModel3D, out SerializedItemHandle); 
    273 说明,  3d模型数据序列化
    274 
    275 ** SetCalibDataCalibObject( CalibDataID, CalibObjIdx, CalibObjDescr); 
    276 说明,  设置校准数据对象
    277 
    278 ** SetCalibDataObservPoints( CalibDataID, CameraIdx, CalibObjIdx, CalibObjPoseIdx, Row, Column, Index, Pose); 
    279 说明,  设置校准数据节点
    280 
    281 ** SetCalibDataObservPose( CalibDataID, CameraIdx, CalibObjIdx, CalibObjPoseIdx, ObjInCameraPose); 
    282 说明,  设置校准数据姿态
    283 
    284 ** SetMetrologyObjectFuzzyParam( MetrologyHandle, Indices, GenParamName, GenParamValue); 
    285 说明,  设置计量对象参数
    286 
    287 ** SetMetrologyObjectParam( MetrologyHandle, Indices, GenParamName, GenParamValue); 
    288 说明,  设置计量对象参数
    289 
    290 ** SetObjectModel3DAttrib( ObjectModel3D, Name, Type_, Data, out ObjectModel3DOut); 
    291 说明,  设置3d模型属性
    292 
    293 ** SetObjectModel3DAttribMod( ObjectModel3D, Name, Type_, Data); 
    294 说明,  设置3d模型属性
    295 
    296 ** SetSampleIdentifierObjectInfo( SampleIdentifier, ObjectIdx, InfoName, InfoValue); 
    297 说明,  设置样本对象数据
    298 
    299 ** SmallestBoundingBoxObjectModel3D( ObjectModel3D, Type_, out Pose, out Length1, out Length2, out Length3);
    300 
    301 ** SmallestSphereObjectModel3D( ObjectModel3D, out CenterPoint, out Radius); 
    302 说明,  3d模型最小外接球形对象
    303 
    304 ** SmoothObjectModel3D( ObjectModel3D, Method, GenParamName, GenParamValue, out SmoothObjectModel3D); 
    305 说明,  平滑3d模型
    306 
    307 ** SurfaceNormalsObjectModel3D( ObjectModel3D, Method, GenParamName, GenParamValue, out ObjectModel3DNormals); 
    308 说明,  3d模型表面
    309 
    310 ** TestAccess( Object_: X; out Dummy: X; NumReadChord, NumCopyObj, Write_chord); 
    311 说明,  测试Access
    312 
    313 ** TestEqualObj( Objects1: X; Objects2: X; out IsEqual); 
    314 说明,  test_equal_obj,比较目标图像的平等性。
    315 
    316 ** TestObjDef( Object_: X; out IsDefined); 
    317 说明,  test_obj_def,测试目标是否被删除。
    318 
    319 ** TransformMetrologyObject( MetrologyHandle, Indices, Row, Column, Phi, Mode); 
    320 说明,  对象变换
    321 
    322 ** TriangulateObjectModel3D( ObjectModel3D, Method, GenParamName, GenParamValue, out TriangulatedObjectModel3D, out Information); 
    323 说明,  3角曲面3d模型
    324 
    325 ** UnionObjectModel3D( ObjectModels3D, Method, out UnionObjectModel3D); 
    326 说明,  合并3d模型
    327 
    328 ** VolumeObjectModel3DRelativeToPlane( ObjectModel3D, Plane, Mode, UseFaceOrientation, out Volume); 
    329 说明,  3d模型相对体积平面
    330 
    331 ** WriteObjectModel3D( ObjectModel3D, FileType, FileName, GenParamName, GenParamValue); 
    332 说明,  保存3d模型数据
    333 
    334 ** XyzToObjectModel3D( X: X; Y: X; Z: X; out ObjectModel3D); 
    335 说明,  xyz坐标到3d模型在;换
  • 相关阅读:
    MVC把表格导出到Excel
    MVC借助Masonry实现图文瀑布流
    MVC Ajax Helper或jQuery异步方式加载部分视图
    MVC使用Entity Framework Code First,用漂亮表格显示1对多关系
    MVC使用jQuery从视图向控制器传递Model的2种方法
    MVC使用AdditionalMetadata为Model属性添加额外信息
    MVC日期格式化的2种方式
    MVC使用百度开源文本编辑器UEditor实现图文并茂,字数限制,上传图片或涂鸦
    MVC使用StructureMap实现依赖注入Dependency Injection
    通过扩展jQuery UI Widget Factory实现手动调整Accordion高度
  • 原文地址:https://www.cnblogs.com/ziwang/p/4876821.html
Copyright © 2020-2023  润新知