《zw版·Halcon-delphi系列原创教程》 Halcon分类函数017·point点函数

 《zw版·Halcon-delphi系列原创教程》 Halcon分类函数017·point点函数

 


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

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

 

---------------------- 【《zw版·Halcon-delphi系列原创教程》,网址,cnblogs.com/ziwang/】 ----------------------

 

  1 ** AddNoiseWhiteContourXld( Contours: X; out NoisyContours: X; NumRegrPoints, Amp); 
  2 说明,  add_noise_white_contour_xld,向XLD轮廓,中加入噪声。
  3 
  4 ** AffineTransPoint2D( HomMat2d, Px, Py, out Qx, out Qy); 
  5 说明,  affine_trans_point_2d,对点进行任意的最简二维变换
  6 
  7 ** AffineTransPoint3D( HomMat3d, Px, Py, Pz, out Qx, out Qy, out Qz); 
  8 说明,  affine_trans_point_3d,对点运用一个随即仿射三维变换。
  9 
 10 ** AreaCenterPointsXld( XLD: X; out Area, out Row, out Column); 
 11 说明,  area_center_points_xld,被看做点云的轮廓,和多边形(polygon)的面积和重心。
 12 
 13 ** AreaCenterXld( XLD: X; out Area, out Row, out Column, out PointOrder); 
 14 说明,  area_center_xld,轮廓,和多边形(polygon)的面积和重心。
 15 
 16 ** CaltabPoints( CalTabDescrFile, out X, out Y, out Z); 
 17 说明,  caltab_points,从校准板说明文件中读取标志中心点。
 18 
 19 ** ChangeRadialDistortionPoints( Row, Col, CamParamIn, CamParamOut, out RowChanged, out ColChanged); 
 20 说明,  改变点的放射失真。
 21 
 22 ** ClipEndPointsContoursXld( Contours: X; out ClippedContours: X; Mode, Length); 
 23 说明,  clip_end_points_contours_xld,去除线条两端的部分像素。
 24 
 25 ** ClosestPointTransform( Region: X; out Distances: X; out ClosestPoints: X; Metric, Foreground, ClosestPointMode, Width, Height); 
 26 说明,  关闭点变换
 27 
 28 ** ConnectGridPoints( Image: X; out ConnectingLines: X; Row, Column, Sigma, MaxDist); 
 29 说明,  connect_grid_points,建立矫正网格的矫正点间的连接。
 30 
 31 ** ContourPointNumXld( Contour: X; out Length); 
 32 说明,  contour_point_num_xld,返回一个XLD轮廓,中点的数目。
 33 
 34 ** ConvertPoint3DCartToSpher( X, Y, Z, EquatPlaneNormal, ZeroMeridian, out Longitude, out Latitude, out Radius); 
 35 说明,  convert_point_3d_cart_to_spher,把直角坐标系中的一个3D点转变为极坐标。
 36 
 37 ** ConvertPoint3DSpherToCart( Longitude, Latitude, Radius, EquatPlaneNormal, ZeroMeridian, out X, out Y, out Z); 
 38 说明,  convert_point_3d_spher_to_cart,把极坐标中的一个3D点转变为直角坐标。
 39 
 40 ** CreateCamPoseLookAtPoint( CamPosX, CamPosY, CamPosZ, LookAtX, LookAtY, LookAtZ, RefPlaneNormal, CamRoll, out CamPose); 
 41 说明,  create_cam_pose_look_at_point,从摄像机中心和观察方向创建一个3D摄像机位置。
 42 
 43 ** CreateSerializedItemPtr( Pointer, Size, Copy, out SerializedItemHandle); 
 44 说明,  建立序列数据
 45 
 46 ** CriticalPointsSubPix( Image: X; Filter, Sigma, Threshold, out RowMin, out ColumnMin, out RowMax, out ColumnMax, out RowSaddle, out ColumnSaddle); 
 47 说明,  critical_points_sub_pix,一幅图像中主要点的子像素精确度检测。
 48 
 49 ** DisparityToPoint3D( CamParamRect1, CamParamRect2, RelPoseRect, Row1, Col1, Disparity, out X, out Y, out Z); 
 50 说明,  disparity_to_point_3d,将一个图像点和它的不均衡值转换为一个矫正立体系统中的三维点。
 51 
 52 ** DistEllipseContourPointsXld( Contour: X; DistanceMode, ClippingEndPoints, Row, Column, Phi, Radius1, Radius2, out Distances); 
 53 说明,  dist_ellipse_contour_points_xld,计算所有轮廓,内的点到一个椭圆的距离。
 54 
 55 ** DistEllipseContourXld( Contours: X; Mode, MaxNumPoints, ClippingEndPoints, Row, Column, Phi, Radius1, Radius2, out MinDist, out MaxDist, out AvgDist, out SigmaDist); 
 56 说明,  dist_ellipse_contour_xld,轮廓到一个椭圆的距离。
 57 
 58 ** DistRectangle2ContourPointsXld( Contour: X; ClippingEndPoints, Row, Column, Phi, Length1, Length2, out Distances); 
 59 说明,  dist_rectangle2_contour_points_xld,计算所有轮廓,内的点到一个矩形的距离。
 60 
 61 ** DrawPoint( WindowHandle, out Row, out Column); 
 62 说明,  draw_point,画一个点。
 63 
 64 ** DrawPointMod( WindowHandle, RowIn, ColumnIn, out Row, out Column); 
 65 说明,  draw_point_mod,画一个点。
 66 
 67 ** EccentricityPointsXld( XLD: X; out Anisometry); 
 68 说明,  eccentricity_points_xld,被看做点云的轮廓,或多变形(polygon)的Anisometry。
 69 
 70 ** EllipticAxisPointsXld( XLD: X; out Ra, out Rb, out Phi); 
 71 说明,  elliptic_axis_points_xld,被看做点云的轮廓,或多边形(polygon)的等价椭圆参数。
 72 
 73 ** Find1DBarCodeScanline( Image: X; out CodeRegion: X; BarCodeDescr, GenericName, GenericValue, StopIfFound, out BarcodeFound, out BarCodeElements, out Orientation, out ScanlineNumPoints, out ScanlineDecoded, out ScanlinePointsRow, out ScanlinePointsColumn); 
 74 说明,  find_1d_bar_code_scanline,搜索一幅图像中的一个条形码。
 75 
 76 ** FindSurfaceModel( SurfaceModelID, ObjectModel3D, RelSamplingDistance, KeyPointFraction, MinScore, ReturnResultHandle, GenParamName, GenParamValue, out Pose, out Score, out SurfaceMatchingResultID); 
 77 说明,  找出表面模型
 78 
 79 ** FitCircleContourXld( Contours: X; Algorithm, MaxNumPoints, MaxClosureDist,
 80 
 81 ** FitEllipseContourXld( Contours: X; Algorithm, MaxNumPoints, MaxClosureDist,
 82 
 83 ** FitLineContourXld( Contours: X; Algorithm, MaxNumPoints, ClippingEndPoints, Iterations, ClippingFactor, out RowBegin, out ColBegin, out RowEnd, out ColEnd, out Nr, out Nc, out Dist);
 84 
 85 ** FitRectangle2ContourXld( Contours: X; Algorithm, MaxNumPoints, MaxClosureDist, ClippingEndPoints, Iterations, ClippingFactor, out Row, out Column, out Phi, out Length1, out Length2, out PointOrder); 
 86 说明,  fit_rectangle2_contour_xld,用矩形来匹配XLD轮廓,。
 87 
 88 ** GenCircleContourXld( out ContCircle: X; Row, Column, Radius, StartPhi, EndPhi, PointOrder, Resolution);
 89 
 90 ** GenImage1( out Image: X; Type_, Width, Height, PixelPointer); 
 91 说明,  gen_image1,从像素的一个指针创建一个图像。
 92 
 93 ** GenImage1Extern( out Image: X; Type_, Width, Height, PixelPointer, ClearProc); 
 94 说明,  gen_image1_extern,从带存储管理的像素的一个指针创建一个图像。
 95 
 96 ** GenImage1Rect( out Image: X; PixelPointer, Width, Height, VerticalPitch, HorizontalBitPitch, BitsPerPixel, DoCopy, ClearProc); 
 97 说明,  gen_image1_rect,从像素(带存储管理)的指针创建一个矩形区域的图像。
 98 
 99 ** GenImage3( out ImageRGB: X; Type_, Width, Height, PixelPointerRed, PixelPointerGreen, PixelPointerBlue); 
100 说明,  gen_image3,从像素(红、绿、蓝)的三个指针创建一个图像。
101 
102 ** GenImage3Extern( out Image: X; Type_, Width, Height, PointerRed, PointerGreen, PointerBlue, ClearProc); 
103 说明,  gen_image3,从像素(红、绿、蓝)的三个指针创建一个图像,带参数。
104 
105 ** GenImageInterleaved( out ImageRGB: X; PixelPointer, ColorFormat, OriginalWidth, OriginalHeight, Alignment, Type_, ImageWidth, ImageHeight, StartRow, StartColumn, BitsPerChannel, BitShift); 
106 说明,  gen_image_interleaved,从交叉像素的一个指针创建一个三通道图像。
107 
108 ** GenObjectModel3DFromPoints( X, Y, Z, out ObjectModel3D); 
109 说明,  从节点生成3d模型对象
110 
111 ** GenRegionPoints( out Region: X; Rows, Columns); 
112 说明,  gen_region_points,将个别的像素存储为图像区域。
113 
114 ** Get1DBarCodeScanline( BarCodeRegion: X; BarCodeDescr, GenericName, GenericValue, Orientation, StopIfFound, out BarCodeElements, out ScanlineNumPoints, out ScanlineDecoded, out ScanlinePointsRow, out ScanlinePointsColumn); 
115 说明,  get_1d_bar_code_scanline,提取一个条形码区域中元素的宽度。
116 
117 ** GetCalibDataObservPoints( CalibDataID, CameraIdx, CalibObjIdx, CalibObjPoseIdx, out Row, out Column, out Index, out Pose); 
118 说明,  获取校准数据节点
119 
120 ** GetDescriptorModelPoints( ModelID, Set_, Subset, out Row, out Column); 
121 说明,  获取描述模型节点
122 
123 ** GetImagePointer1( Image: X; out Pointer, out Type_, out Width, out Height); 
124 说明,  get_image_pointer1,获取Image图像的数据指针Pointer,图像类型Type,图像宽度Width和高度Height。Pointer指向了Image data的起点位置。
125 
126 ** GetImagePointer1Rect( Image: X; out PixelPointer, out Width, out Height, out VerticalPitch, out HorizontalBitPitch, out BitsPerPixel); 
127 说明,  get_image_pointer1_rect,获取图像数据指针和输入图像区域内最小矩形内部的图像数据。
128 
129 ** GetImagePointer3( ImageRGB: X; out PointerRed, out PointerGreen, out PointerBlue, out Type_, out Width, out Height); 
130 说明,  get_image_pointer3,获取Image图像中坐标为(Row,Column)的点的R、G、B三色值l。
131 
132 ** GetPointsEllipse( Angle, Row, Column, Phi, Radius1, Radius2, out RowPoint, out ColPoint);
133 
134 ** GetRegionPoints( Region: X; out Rows, out Columns); 
135 说明,  get_region_points,查询一个区域的像素数。
136 
137 ** GetSerializedItemPtr( SerializedItemHandle, out Pointer, out Size); 
138 说明,  获取序列化ptr参数
139 
140 ** GetWindowPointer3( WindowHandle, out ImageRed, out ImageGreen, out ImageBlue, out Width, out Height); 
141 说明,  get_window_pointer3,窗口像素数据的通道。
142 
143 ** HandEyeCalibration( X, Y, Z, Row, Col, NumPoints, RobotPoses, CameraParam, Method, QualityType, out CameraPose, out CalibrationPose, out Quality); 
144 说明,  hand_eye_calibration,执行一个手---眼校准。
145 
146 ** HomMat3dProject( HomMat3d, PrincipalPointRow, PrincipalPointCol, Focus, out HomMat2d); 
147 说明,  hom_mat3d_project,给一个二维投影变换矩阵投影一个仿射三维变换矩阵。
148 
149 ** ImagePointsToWorldPlane( CameraParam, WorldPose, Rows, Cols, Scale, out X, out Y); 
150 说明,  image_points_to_world_plane,将图像中的点转换到坐标轴平面Z为零上。
151 
152 ** InterpolateScatteredDataPointsToImage( out ImageInterpolated: X; Method, Rows, Columns, Values, Width, Height, GenParamNames, GenParamValues); 
153 说明,  计算图像散布节点的交集。
154 
155 ** IntersectionCircleContourXld( Contour: X; CircleRow, CircleColumn, CircleRadius, CircleStartPhi, CircleEndPhi, CirclePointOrder, out Row, out Column); 
156 说明,  计算xld圆形对象交集。
157 
158 ** IntersectionCircles( Circle1Row, Circle1Column, Circle1Radius, Circle1StartPhi, Circle1EndPhi, Circle1PointOrder, Circle2Row, Circle2Column, Circle2Radius, Circle2StartPhi, Circle2EndPhi, Circle2PointOrder, out Row, out Column, out IsOverlapping); 
159 说明,  计算圆形对象交集。
160 
161 ** IntersectionLineCircle( LineRow1, LineColumn1, LineRow2, LineColumn2, CircleRow, CircleColumn, CircleRadius, CircleStartPhi, CircleEndPhi, CirclePointOrder, out Row, out Column); 
162 说明,  计算直线-圆形对象交集。
163 
164 ** IntersectionSegmentCircle( SegmentRow1, SegmentColumn1, SegmentRow2, SegmentColumn2, CircleRow, CircleColumn, CircleRadius, CircleStartPhi, CircleEndPhi, CirclePointOrder, out Row, out Column); 
165 说明,  计算圆形分段对象交集。
166 
167 ** JunctionsSkeleton( Region: X; out EndPoints: X; out JuncPoints: X); 
168 说明,  junctions_skeleton,找到框架中的结点和终点。
169 
170 ** 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); 
171 说明,  按RANSA算法匹配矩阵
172 
173 ** 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); 
174 说明,  按RANSA算法匹配矩阵,有失真度参数
175 
176 ** 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); 
177 说明,  按RANSA算法匹配矩阵,基本匹配
178 
179 ** MatchRelPoseRansac( Image1: X; Image2: X; Rows1, Cols1, Rows2, Cols2, CamPar1, CamPar2, GrayMatchMethod, MaskSize, RowMove, ColMove, RowTolerance, ColTolerance, Rotation, MatchThreshold, EstimationMethod, DistanceThreshold, RandSeed, out RelPose, out CovRelPose, out Error, out Points1, out Points2); 
180 说明,  按RANSA算法匹配相对位置
181 
182 ** MomentsAnyPointsXld( XLD: X; Mode, Area, CenterRow, CenterCol, P, Q, out M); 
183 说明,  moments_any_points_xld,被看做点云的轮廓,或多变形(polygon)的任意几何时刻(moments)。
184 
185 ** MomentsAnyXld( XLD: X; Mode, PointOrder, Area, CenterRow, CenterCol, P, Q, out M); 
186 说明,  moments_any_xld,轮廓,或多变形(polygon)的任意集合时刻(moments)。
187 
188 ** MomentsPointsXld( XLD: X; out M11, out M20, out M02); 
189 说明,  moments_points_xld,被看做点云的轮廓,或多变形(polygon)的几何时刻(moments)M20, M02, 和 M11。
190 
191 ** NumPointsFunct1D( Function_, out Length); 
192 说明,  num_points_funct_1d,函数控制点的数目。
193 
194 ** OrientationPointsXld( XLD: X; out Phi); 
195 说明,  orientation_points_xld,被看做点云的轮廓,或多变形(polygon)的方向。
196 
197 ** PointsFoerstner( Image: X; SigmaGrad, SigmaInt, SigmaPoints, ThreshInhom, ThreshShape, Smoothing, EliminateDoublets, out RowJunctions, out ColumnJunctions, out CoRRJunctions, out CoRCJunctions, out CoCCJunctions, out RowArea, out ColumnArea, out CoRRArea, out CoRCArea, out CoCCArea); 
198 说明,  points_foerstner,使用F?rstner算子检测关注点。
199 
200 ** PointsHarris( Image: X; SigmaGrad, SigmaSmooth, Alpha, Threshold, out Row, out Column); 
201 说明,  points_harris,使用Harris算子检测关注点。
202 
203 ** PointsHarrisBinomial( Image: X; MaskSizeGrad, MaskSizeSmooth, Alpha, Threshold, Subpix, out Row, out Column); 
204 说明,  使用Harris算子检测关注二项式。
205 
206 ** PointsLepetit( Image: X; Radius, CheckNeighbor, MinCheckNeighborDiff, MinScore, Subpix, out Row, out Column); 
207 说明,
208 
209 ** PointsSojka( Image: X; MaskSize, SigmaW, SigmaD, MinGrad, MinApparentness, MinAngle, Subpix, out Row, out Column); 
210 说明,  points_sojka,使用Sojka算子找出角点。
211 
212 ** Project3DPoint( X, Y, Z, CameraParam, out Row, out Column); 
213 说明,  project_3d_point,将三维点投射到子像素图像坐标。
214 
215 ** ProjectHomPointHomMat3d( HomMat3d, Px, Py, Pz, Pw, out Qx, out Qy, out Qw); 
216 说明,  3D目标模型,投影坐标计算
217 
218 ** ProjectiveTransHomPoint3D( HomMat3d, Px, Py, Pz, Pw, out Qx, out Qy, out Qz, out Qw); 
219 说明,  3d节点,投影变换矩阵计算
220 
221 ** ProjectiveTransPoint2D( HomMat2d, Px, Py, Pw, out Qx, out Qy, out Qw); 
222 说明,  projective_trans_point_2d,利用一个投影变换矩阵表示一个二维齐次点。
223 
224 ** ProjectiveTransPoint3D( HomMat3d, Px, Py, Pz, out Qx, out Qy, out Qz);
225 
226 ** ProjectPointHomMat3d( HomMat3d, Px, Py, Pz, out Qx, out Qy); 
227 说明,  3D目标模型,节点投影坐标计算
228 
229 ** ProjMatchPointsDistortionRansac( Image1: X; Image2: X; Rows1, Cols1, Rows2, Cols2, GrayMatchMethod, MaskSize, RowMove, ColMove, RowTolerance, ColTolerance, Rotation, MatchThreshold, EstimationMethod, DistanceThreshold, RandSeed, out HomMat2d, out Kappa, out Error, out Points1, out Points2); 
230 说明,  Ransac算法节点投影失真计算
231 
232 ** ProjMatchPointsDistortionRansacGuided( Image1: X; Image2: X; Rows1, Cols1, Rows2, Cols2, GrayMatchMethod, MaskSize, HomMat2dGuide, KappaGuide, DistanceTolerance, MatchThreshold, EstimationMethod, DistanceThreshold, RandSeed, out HomMat2d, out Kappa, out Error, out Points1, out Points2); 
233 说明,  Ransac引导算法节点投影失真计算
234 
235 ** ProjMatchPointsRansac( Image1: X; Image2: X; Rows1, Cols1, Rows2, Cols2, GrayMatchMethod, MaskSize, RowMove, ColMove, RowTolerance, ColTolerance, Rotation, MatchThreshold, EstimationMethod, DistanceThreshold, RandSeed, out HomMat2d, out Points1, out Points2); 
236 说明,  Ransac算法,投影节点匹配
237 
238 ** ProjMatchPointsRansacGuided( Image1: X; Image2: X; Rows1, Cols1, Rows2, Cols2, GrayMatchMethod, MaskSize, HomMat2dGuide, DistanceTolerance, MatchThreshold, EstimationMethod, DistanceThreshold, RandSeed, out HomMat2d, out Points1, out Points2); 
239 说明,  Ransac引导算法,投影节点匹配
240 
241 ** QuatRotatePoint3D( Quaternion, Px, Py, Pz, out Qx, out Qy, out Qz); 
242 说明,  Quat旋转矩阵,节点3D旋转
243 
244 ** RadialDistortionSelfCalibration( Contours: X; out SelectedContours: X; Width, Height, InlierThreshold, RandSeed, DistortionModel, DistortionCenter, PrincipalPointVar, out CameraParam); 
245 说明,  失真校准取值范围
246 
247 ** ructPointsStereo( StereoModelID, Row, Column, CovIP, CameraIdx, PointIdx, out X, out Y, out Z, out CovWP, out PointIdxOut); 
248 说明,  从立体节点获取高度
249 
250 ** SaddlePointsSubPix( Image: X; Filter, Sigma, Threshold, out Row, out Column); 
251 说明,  saddle_points_sub_pix,一幅图像中底部点的子像素精确度检测。
252 
253 ** SelectPointsObjectModel3D( ObjectModel3D, Attrib, MinValue, MaxValue, out ObjectModel3DThresholded); 
254 说明,  选择3d模型节点。
255 
256 ** SelectRegionPoint( Regions: X; out DestRegions: X; Row, Column); 
257 说明,  select_region_point,选择包括给定像素在内的所有区域。
258 
259 ** SelectXldPoint( XLDs: X; out DestXLDs: X; Row, Column); 
260 说明,  select_xld_point,选择包括给定点在内的所有的轮廓,或多边形(polygon)。
261 
262 ** SetCalibDataObservPoints( CalibDataID, CameraIdx, CalibObjIdx, CalibObjPoseIdx, Row, Column, Index, Pose); 
263 说明,  设置校准数据节点
264 
265 ** ShapeHistoPoint( Region: X; Image: X; Feature, Row, Column, out AbsoluteHisto, out RelativeHisto); 
266 说明,  shape_histo_point,用极限值确定特征的一个直方图。
267 
268 ** SmallestSphereObjectModel3D( ObjectModel3D, out CenterPoint, out Radius); 
269 说明,  3d模型最小外接球形对象
270 
271 ** SmoothContoursXld( Contours: X; out SmoothedContours: X; NumRegrPoints); 
272 说明,  smooth_contours_xld,XLD轮廓,的平滑。
273 
274 ** TestRegionPoint( Regions: X; Row, Column, out IsInside); 
275 说明,  测试区域节点
276 
277 ** TestXldPoint( XLD: X; Row, Column, out IsInside); 
278 说明,  test_xld_point,测试一个或多个包括给定点在内的轮廓,或多边形(polygon)。
279 
280 ** VectorToProjHomMat2dDistortion( Points1Row, Points1Col, Points2Row, Points2Col, CovRR1, CovRC1, CovCC1, CovRR2, CovRC2, CovCC2, ImageWidth, ImageHeight, Method, out HomMat2d, out Kappa, out Error); 
281 说明,  矢量2d矩阵失真变换

 

posted @ 2015-10-14 19:30  统领  阅读(1261)  评论(0编辑  收藏  举报