zoukankan      html  css  js  c++  java
  • 《zw版·Halcon-delphi系列原创教程》 Halcon分类函数003·contour,轮廓处理

    《zw版·Halcon-delphi系列原创教程》 Halcon分类函数003·contour,轮廓处理

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

    • :: 用符号“**”,替换:“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 ** AddNoiseWhiteContourXld( Contours: X; out NoisyContours: X; NumRegrPoints, Amp); 
      2 说明,  add_noise_white_contour_xld,向XLD轮廓,中加入噪声。
      3 
      4 ** AffineTransContourXld( Contours: X; out ContoursAffinTrans: X; HomMat2d);
      5 
      6 ** ChangeRadialDistortionContoursXld( Contours: X; out ContoursRectified: X; CamParamIn, CamParamOut); 
      7 说明,  change_radial_distortion_contours_xld,改变了轮廓,的放射失真。
      8 
      9 ** ClipContoursXld( Contours: X; out ClippedContours: X; Row1, Column1, Row2, Column2); 
     10 说明,  clip_contours_xld,修剪一个XLD轮廓,。
     11 
     12 ** ClipEndPointsContoursXld( Contours: X; out ClippedContours: X; Mode, Length); 
     13 说明,  clip_end_points_contours_xld,去除线条两端的部分像素。
     14 
     15 ** CloseContoursXld( Contours: X; out ClosedContours: X); 
     16 说明,  close_contours_xld,关闭一个XLD轮廓,。
     17 
     18 ** ClusterModelComponents( TrainingImages: X; out ModelComponents: X; ComponentTrainingID, AmbiguityCriterion, MaxContourOverlap, ClusterThreshold); 
     19 说明,  cluster_model_components,把用于创建模型组件的新参数用于训练结果。
     20 
     21 ** ContourPointNumXld( Contour: X; out Length); 
     22 说明,  contour_point_num_xld,返回一个XLD轮廓,中点的数目。
     23 
     24 ** ContourToWorldPlaneXld( Contours: X; out ContoursTrans: X; CameraParam, WorldPose, Scale); 
     25 说明,  contour_to_world_plane_xld,将一个XLD轮廓,转换为一个坐标系统中平面Z为零。
     26 
     27 ** CreateAnisoShapeModelXld( Contours: X; NumLevels, AngleStart, AngleExtent, AngleStep, ScaleRMin, ScaleRMax, ScaleRStep, ScaleCMin, ScaleCMax, ScaleCStep, Optimization, Metric, MinContrast, out ModelID); 
     28 说明,  为各向异性尺度不变匹配准备一个XLD模型
     29 
     30 ** CreateLocalDeformableModelXld( Contours: X; NumLevels, AngleStart, AngleExtent, AngleStep, ScaleRMin, ScaleRMax, ScaleRStep, ScaleCMin, ScaleCMax, ScaleCStep, Optimization, Metric, MinContrast, ParamName, ParamValue, out ModelID); 
     31 说明,  建立本地XLD变形模型
     32 
     33 ** CreatePlanarCalibDeformableModelXld( Contours: X; CamParam, ReferencePose, NumLevels, AngleStart, AngleExtent, AngleStep, ScaleRMin, ScaleRMax, ScaleRStep, ScaleCMin, ScaleCMax, ScaleCStep, Optimization, Metric, MinContrast, ParamName, ParamValue, out ModelID); 
     34 说明,  建立XLD变形模型校准平面
     35 
     36 ** CreatePlanarUncalibDeformableModelXld( Contours: X; NumLevels, AngleStart, AngleExtent, AngleStep, ScaleRMin, ScaleRMax, ScaleRStep, ScaleCMin, ScaleCMax, ScaleCStep, Optimization, Metric, MinContrast, ParamName, ParamValue, out ModelID); 
     37 说明,  建立XLD变形模型无校准平面
     38 
     39 ** CreateScaledShapeModelXld( Contours: X; NumLevels, AngleStart, AngleExtent, AngleStep, ScaleMin, ScaleMax, ScaleStep, Optimization, Metric, MinContrast, out ModelID); 
     40 说明,  为尺度不变匹配准备一个XLD轮廓模型。
     41 
     42 ** CreateShapeModelXld( Contours: X; NumLevels, AngleStart, AngleExtent, AngleStep, Optimization, Metric, MinContrast, out ModelID); 
     43 说明,  建立轮廓XLD模型
     44 
     45 ** CropContoursXld( Contours: X; out CroppedContours: X; Row1, Col1, Row2, Col2, CloseContours); 
     46 说明,  crop_contours_xld,切割一个XLD轮廓,。
     47 
     48 ** DifferenceClosedContoursXld( Contours: X; Sub: X; out ContoursDifference: X); 
     49 说明,  difference_closed_contours_xld,闭合轮廓,的差异。
     50 
     51 ** DistanceCc( Contour1: X; Contour2: X; Mode, out DistanceMin, out DistanceMax); 
     52 说明,  distance_cc,计算两个轮廓,间的距离。
     53 
     54 ** DistanceCcMin( Contour1: X; Contour2: X; Mode, out DistanceMin); 
     55 说明,  distance_cc_min,计算两个轮廓,间的最小距离。
     56 
     57 ** DistanceLc( Contour: X; Row1, Column1, Row2, Column2, out DistanceMin, out DistanceMax); 
     58 说明,  distance_lc,计算一条线和一个轮廓,间的距离。
     59 
     60 ** DistancePc( Contour: X; Row, Column, out DistanceMin, out DistanceMax); 
     61 说明,  distance_pc,计算一个点和一个轮廓,间的距离。
     62 
     63 ** DistanceSc( Contour: X; Row1, Column1, Row2, Column2, out DistanceMin, out DistanceMax); 
     64 说明,  distance_sc,计算一条分割线和一个轮廓,间的距离。
     65 
     66 ** DistEllipseContourPointsXld( Contour: X; DistanceMode, ClippingEndPoints, Row, Column, Phi, Radius1, Radius2, out Distances); 
     67 说明,  dist_ellipse_contour_points_xld,计算所有轮廓,内的点到一个椭圆的距离。
     68 
     69 ** DistEllipseContourXld( Contours: X; Mode, MaxNumPoints, ClippingEndPoints, Row, Column, Phi, Radius1, Radius2, out MinDist, out MaxDist, out AvgDist, out SigmaDist); 
     70 说明,  dist_ellipse_contour_xld,轮廓到一个椭圆的距离。
     71 
     72 ** DistRectangle2ContourPointsXld( Contour: X; ClippingEndPoints, Row, Column, Phi, Length1, Length2, out Distances); 
     73 说明,  dist_rectangle2_contour_points_xld,计算所有轮廓,内的点到一个矩形的距离。
     74 
     75 ** FindLocalDeformableModel( Image: X; out ImageRectified: X; out VectorField: X; out DeformedContours: X; ModelID, AngleStart, AngleExtent, ScaleRMin, ScaleRMax, ScaleCMin, ScaleCMax, MinScore, NumMatches, MaxOverlap, NumLevels, Greediness, ResultType, ParamName, ParamValue, out Score, out Row, out Column);
     76 
     77 ** FitCircleContourXld( Contours: X; Algorithm, MaxNumPoints, MaxClosureDist,
     78 
     79 ** FitEllipseContourXld( Contours: X; Algorithm, MaxNumPoints, MaxClosureDist,
     80 
     81 ** FitLineContourXld( Contours: X; Algorithm, MaxNumPoints, ClippingEndPoints, Iterations, ClippingFactor, out RowBegin, out ColBegin, out RowEnd, out ColEnd, out Nr, out Nc, out Dist);
     82 
     83 ** FitRectangle2ContourXld( Contours: X; Algorithm, MaxNumPoints, MaxClosureDist, ClippingEndPoints, Iterations, ClippingFactor, out Row, out Column, out Phi, out Length1, out Length2, out PointOrder); 
     84 说明,  fit_rectangle2_contour_xld,用矩形来匹配XLD轮廓,。
     85 
     86 ** Fourier1Dim( Rows, Columns, ParContour, MaxCoef, out RealCoef, out ImaginaryCoef); 
     87 说明,  fourier_1dim,计算一个参数化的元组的傅里叶系数。
     88 
     89 ** GenCircleContourXld( out ContCircle: X; Row, Column, Radius, StartPhi, EndPhi, PointOrder, Resolution);
     90 
     91 ** GenContourNurbsXld( out Contour: X; Rows, Cols, Knots, Weights, Degree, MaxError, MaxDistance);
     92 
     93 ** GenContourPolygonRoundedXld( out Contour: X; Row, Col, Radius, SamplingInterval); 
     94 说明,  gen_contour_polygon_rounded_xld,根据一个多边形(polygon)(以元组形式给出)的圆形角点创建一个XLD轮廓,。
     95 
     96 ** GenContourPolygonXld( out Contour: X; Row, Col); 
     97 说明,  gen_contour_polygon_xld,根据一个多边形(polygon)(以元组形式给出)创建一个XLD轮廓,。
     98 
     99 ** GenContourRegionXld( Regions: X; out Contours: X; Mode);
    100 
    101 ** GenContoursSkeletonXld( Skeleton: X; out Contours: X; Length, Mode); 
    102 说明,  gen_contours_skeleton_xld,将框架转换为XLD轮廓,。
    103 
    104 ** GenCrossContourXld( out Cross: X; Row, Col, Size, Angle); 
    105 说明,  gen_cross_contour_xld,根据每个输入点交叉的形状创键一个XLD轮廓,。
    106 
    107 ** GenEllipseContourXld( out ContEllipse: X; Row, Column, Phi, Radius1, Radius2,
    108 
    109 ** GenParallelContourXld( Contours: X; out ParallelContours: X; Mode, Distance); 
    110 说明,  gen_parallel_contour_xld,计算一个XLD轮廓,的平行轮廓,。
    111 
    112 ** GenPolygonsXld( Contours: X; out Polygons: X; Type_, Alpha); 
    113 说明,  gen_polygons_xld,根据多边形近似创建XLD轮廓,。
    114 
    115 ** GenRectangle2ContourXld( out Rectangle: X; Row, Column, Phi, Length1, Length2); 
    116 说明,  gen_rectangle2_contour_xld,创建一个矩形XLD轮廓,。
    117 
    118 ** GenRegionContourXld( Contour: X; out Region: X; Mode); 
    119 说明,  gen_region_contour_xld,从XLD元组中创建一个区域。
    120 
    121 ** GetCalibDataObservContours( out Contours: X; CalibDataID, ContourName, CameraIdx, CalibObjIdx, CalibObjPoseIdx); 
    122 说明,  获取校准数据轮廓
    123 
    124 ** GetCirclePose( Contour: X; CameraParam, Radius, out putType, out Pose1, out Pose2); 
    125 说明,  get_circle_pose,从一个圆周相应的二维投射中决定它的三维模式。
    126 
    127 ** GetContourAngleXld( Contour: X; AngleMode, CalcMode, Lookaround, out Angles); 
    128 说明,  get_contour_angle_xld,为每个轮廓,点计算一个XLD轮廓,方向。
    129 
    130 ** GetContourAttribXld( Contour: X; Name, out Attrib); 
    131 说明,  get_contour_attrib_xld,返回一个XLD轮廓,的点的特征值。
    132 
    133 ** GetContourGlobalAttribXld( Contour: X; Name, out Attrib);
    134 
    135 ** GetContourXld( Contour: X; out Row, out Col); 
    136 说明,  get_contour_xld,返回XLD轮廓,的坐标。
    137 
    138 ** GetDeformableModelContours( out ModelContours: X; ModelID, Level); 
    139 说明,  获取变形模型轮廓
    140 
    141 ** GetGrayvalContourXld( Image: X; Contour: X; Interpolation, out Grayval); 
    142 说明,  获取xld轮廓灰度值
    143 
    144 ** GetMetrologyObjectMeasures( out Contour: X; MetrologyHandle, Indices, Transition, out Row, out Column); 
    145 说明,  获取计量对象均值参数
    146 
    147 ** GetRectanglePose( Contour: X; CameraParam, Width, Height, WeightingMode, ClippingFactor, out Pose, out CovPose, out Error); 
    148 说明,  get_rectangle_pose,从一个矩形相应的二维投射中决定它的三维模式。
    149 
    150 ** GetRegionContour( Region: X; out Rows, out Columns); 
    151 说明,  get_region_contour,查询一个目标的轮廓,。
    152 
    153 ** GetRegressParamsXld( Contours: X; out Length, out Nx, out Ny, out Dist, out Fpx, out Fpy, out Lpx, out Lpy, out Mean, out Deviation); 
    154 说明,  get_regress_params_xld,返回XLD轮廓,参数。
    155 
    156 ** GetShapeModel3DContours( out ModelContours: X; ShapeModel3DID, Level, View, out ViewPose); 
    157 说明,  get_shape_model_3d_contours,返回一个3D轮廓模型视图的轮廓表示。
    158 
    159 ** GetShapeModelContours( out ModelContours: X; ModelID, Level); 
    160 说明,  get_shape_model_contours,返回一个轮廓模型的轮廓表示。
    161 
    162 ** GrabData( out Image: X; out Region: X; out Contours: X; AcqHandle, out Data); 
    163 说明,  grab_data,从指定的图像获取设备获取图像和预处理图像数据。
    164 
    165 ** GrabDataAsync( out Image: X; out Region: X; out Contours: X; AcqHandle, MaxDelay, out Data); 
    166 说明,  grab_data_async,从指定的图像获取设备获取图像和预处理图像数据并且开始下一个异步获取。
    167 
    168 ** InspectClusteredComponents( out ModelComponents: X; ComponentTrainingID, AmbiguityCriterion, MaxContourOverlap, ClusterThreshold); 
    169 说明,  inspect_clustered_components,检查从训练获取的刚性的模型组件。
    170 
    171 ** IntersectionCircleContourXld( Contour: X; CircleRow, CircleColumn, CircleRadius, CircleStartPhi, CircleEndPhi, CirclePointOrder, out Row, out Column); 
    172 说明,  计算xld圆形对象交集。
    173 
    174 ** IntersectionClosedContoursXld( Contours1: X; Contours2: X; out ContoursIntersection: X); 
    175 说明,  intersection_closed_contours_xld,闭合轮廓,的交集。
    176 
    177 ** IntersectionContoursXld( Contour1: X; Contour2: X; IntersectionType, out Row, out Column, out IsOverlapping); 
    178 说明,  计算xld轮廓对象交集。
    179 
    180 ** IntersectionLineContourXld( Contour: X; LineRow1, LineColumn1, LineRow2, LineColumn2, out Row, out Column, out IsOverlapping); 
    181 说明,  计算直线-轮廓对象交集。
    182 
    183 ** IntersectionSegmentContourXld( Contour: X; SegmentRow1, SegmentColumn1, SegmentRow2, SegmentColumn2, out Row, out Column, out IsOverlapping); 
    184 说明,  计算xld轮廓分段对象交集。
    185 
    186 ** LocalMaxContoursXld( Contours: X; Image: X; out LocalMaxContours: X; MinPercent, MinDiff, Distance); 
    187 说明,  local_max_contours_xld,选择局域最大灰度值的XLD轮廓,。
    188 
    189 ** MoveContourOrig( Rows, Columns, out RowsMoved, out ColumnsMoved); 
    190 说明,  move_contour_orig,将原点变换到引力的中心。
    191 
    192 ** PolarTransContourXld( Contour: X; out PolarTransContour: X; Row, Column, AngleStart, AngleEnd, RadiusStart, RadiusEnd, Width, Height); 
    193 说明,  polar_trans_contour_xld,将一个环状弧中的轮廓,转换为极坐标形式。
    194 
    195 ** PolarTransContourXldInv( PolarContour: X; out XYTransContour: X; Row, Column, AngleStart, AngleEnd, RadiusStart, RadiusEnd, WidthIn, HeightIn, Width, Height); 
    196 说明,  polar_trans_contour_xld_inv,将极坐标下的轮廓,转换为笛卡尔坐标下的形式。
    197 
    198 ** PrepContourFourier( Rows, Columns, TransMode, out ParContour); 
    199 说明,  prep_contour_fourier,参数化传输的元组。
    200 
    201 ** ProjectiveTransContourXld( Contours: X; out ContoursProjTrans: X; HomMat2d); 
    202 说明,  xld轮廓,投影变换矩阵计算
    203 
    204 ** ProjectObjectModel3D( out ModelContours: X; ObjectModel3D, CamParam, Pose, GenParamName, GenParamValue); 
    205 说明,  project_object_model_3d,把一个3D目标模型的边缘投影到图像坐标中。
    206 
    207 ** ProjectShapeModel3D( out ModelContours: X; ShapeModel3DID, CamParam, Pose, HiddenSurfaceRemoval, MinFaceAngle); 
    208 说明,  project_shape_model_3d,把一个3D轮廓模型的边缘投影到图像坐标中。
    209 
    210 ** QueryContourAttribsXld( Contour: X; out Attribs); 
    211 说明,  query_contour_attribs_xld,返回一个XLD轮廓,定义的属性的名字。
    212 
    213 ** QueryContourGlobalAttribsXld( Contour: X; out Attribs); 
    214 说明,  query_contour_global_attribs_xld,返回一个XLD轮廓,定义的全局属性的名字。
    215 
    216 ** RadialDistortionSelfCalibration( Contours: X; out SelectedContours: X; Width, Height, InlierThreshold, RandSeed, DistortionModel, DistortionCenter, PrincipalPointVar, out CameraParam); 
    217 说明,  失真校准取值范围
    218 
    219 ** ReadContourXldArcInfo( out Contours: X; FileName); 
    220 说明,  read_contour_xld_arc_info,从用ARC/INFO生成格式表示的文件读取XLD轮廓。
    221 
    222 ** ReadContourXldDxf( out Contours: X; FileName, GenParamNames, GenParamValues, out DxfStatus); 
    223 说明,  read_contour_xld_dxf,从一个DXF文件中读取 XLD轮廓。
    224 
    225 ** RegressContoursXld( Contours: X; out RegressContours: X; Mode, Iterations);
    226 
    227 ** SegmentContoursXld( Contours: X; out ContoursSplit: X; Mode,
    228 
    229 ** SelectContoursXld( Contours: X; out SelectedContours: X; Feature, Min1, Max1, Min2, Max2);
    230 
    231 ** SmoothContoursXld( Contours: X; out SmoothedContours: X; NumRegrPoints); 
    232 说明,  smooth_contours_xld,XLD轮廓,的平滑。
    233 
    234 ** SortContoursXld( Contours: X; out SortedContours: X; SortMode, Order, RowOrCol);
    235 
    236 ** SplitContoursXld( Polygons: X; out Contours: X; Mode, Weight, Smooth); 
    237 说明,  split_contours_xld,在主要点分割XLD轮廓,。
    238 
    239 ** SymmDifferenceClosedContoursXld( Contours1: X; Contours2: X; out ContoursDifference: X); 
    240 说明,  symm_difference_closed_contours_xld,闭合轮廓,的对称差异。
    241 
    242 ** TrainModelComponents( ModelImage: X; InitialComponents: X; TrainingImages: X; out ModelComponents: X; ContrastLow, ContrastHigh, MinSize, MinScore, SearchRowTol, SearchColumnTol, SearchAngleTol, TrainingEmphasis, AmbiguityCriterion, MaxContourOverlap, ClusterThreshold, out ComponentTrainingID); 
    243 说明,  train_model_components,为基于组件的匹配训练组件和关系。
    244 
    245 ** Union2ClosedContoursXld( Contours1: X; Contours2: X; out ContoursUnion: X); 
    246 说明,  union2_closed_contours_xld,闭合轮廓,的并集。
    247 
    248 ** UnionAdjacentContoursXld( Contours: X; out UnionContours: X; MaxDistAbs, MaxDistRel, Mode);
    249 
    250 ** UnionCocircularContoursXld( Contours: X; out UnionContours: X; MaxArcAngleDiff, MaxArcOverlap, MaxTangentAngle, MaxDist, MaxRadiusDiff, MaxCenterDist, MergeSmallContours, Iterations);
    251 
    252 ** UnionCollinearContoursExtXld( Contours: X; out UnionContours: X; MaxDistAbs, MaxDistRel, MaxShift, MaxAngle, MaxOverlap, MaxRegrError, MaxCosts, WeightDist, WeightShift, WeightAngle, WeightLink, WeightRegr, Mode);
    253 
    254 ** UnionCollinearContoursXld( Contours: X; out UnionContours: X; MaxDistAbs, MaxDistRel, MaxShift, MaxAngle, Mode);
    255 
    256 ** UnionCotangentialContoursXld( Contours: X; out UnionContours: X; FitClippingLength, FitLength, MaxTangAngle, MaxDist, MaxDistPerp, MaxOverlap, Mode); 
    257 说明,  按余切,合并位于同一条直线上的轮廓,。
    258 
    259 ** UnionStraightContoursHistoXld( Contours: X; out UnionContours: X; out SelectedContours: X; RefLineStartRow, RefLineStartColumn, RefLineEndRow, RefLineEndColumn, Width, MaxWidth, FilterSize, out HistoValues); 
    260 说明,  union_straight_contours_histo_xld,合并到给定线有相似距离的相邻直线轮廓,。
    261 
    262 ** UnionStraightContoursXld( Contours: X; out UnionContours: X; MaxDist, MaxDiff, Percent, Mode, Iterations); 
    263 说明,  union_straight_contours_xld,合并具有相似方向的相邻直线轮廓,。
    264 
    265 ** WriteContourXldArcInfo( Contours: X; FileName); 
    266 说明,  write_contour_xld_arc_info,向用ARC/INFO生成格式表示的文件写入XLD轮廓。
    267 
    268 ** WriteContourXldDxf( Contours: X; FileName); 
    269 说明,  write_contour_xld_dxf,向一个DXF格式的文件中写入 XLD轮廓。
    270 query_contour_global_attribs_xld
  • 相关阅读:
    Java JDBC 连接ORACLE ORA-12505错误解决方法
    SqlServer 打开/关闭列自增
    【小程序】倒计时
    【MySQL 主从同步延迟的原因及解决办法】
    【Linux Mysql主从配置】整理主从配置遇到的坑!
    关于post和get传递参数的区别
    CSS基础属性介绍
    js-06-字符串
    js-07-事件
    js-08-数组学习
  • 原文地址:https://www.cnblogs.com/ziwang/p/4876757.html
Copyright © 2011-2022 走看看