Halcon XLD 算子集合

1、访问
get_contour_xld ( Contour : : : Row, Col ) //获取轮廓的Row、Col坐标

get_lines_xld ( Polygon : : : BeginRow, BeginCol, EndRow, EndCol,Length, Phi ) //返回一个XLD多边形的数据(作为线)

get_parallels_xld ( Parallels : : : Row1, Col1, Length1, Phi1,Row2, Col2, Length2, Phi2 ) //返回XLD多边形的数据(作为线)

get_polygon_xld ( Polygon : : : Row, Col, Length, Phi ) //返回一个XLD多边形的数据

2、创造
gen_circle_contour_xld ( : ContCircle : Row, Column, Radius,StartPhi, EndPhi, PointOrder, Resolution : )//创建对应于圆或圆弧的XLD轮廓。

gen_contour_nurbs_xld ( : Contour : Rows, Cols, Knots, Weights,Degree, MaxError, MaxDistance : ) //变换NURBS曲线到XLD轮廓

gen_contour_polygon_rounded_xld ( : Contour : Row, Col, Radius,SamplingInterval : ) //从一个多边形生成一个带有圆角的XLD轮廓(给定为元组)。

gen_contour_polygon_xld ( : Contour : Row, Col : ) //从一个多边形(给定为元组)生成一个XLD轮廓。

gen_contour_region_xld ( Regions : Contours : Mode : ) //从区域生成XLD轮廓。

gen_contours_skeleton_xld ( Skeleton : Contours : Length,Mode : ) //将一个骨架转换成XLD轮廓。

gen_cross_contour_xld ( : Cross : Row, Col, Size, Angle : ) //为每个输入点生成一个十字形状的XLD轮廓。

gen_ellipse_contour_xld ( : ContEllipse : Row, Column, Phi,Radius1, Radius2, StartPhi, EndPhi, PointOrder, Resolution : ) //创建与椭圆弧相对应的XLD轮廓。

gen_nurbs_interp ( : : Rows, Cols, Tangents, Degree : CtrlRows,CtrlCols, Knots )//创建NURBS曲线的控制数据,插值给定的点。

gen_parallels_xld ( Polygons : Parallels : Len, Dist, Alpha,Merge : ) //提取/创建 平行的XLD多边形。

gen_polygons_xld ( Contours : Polygons : Type, Alpha : ) //用多边形近似XLD轮廓。

gen_rectangle2_contour_xld ( : Rectangle : Row, Column, Phi,Length1, Length2 : ) //创建一个矩形形状的XLD轮廓线。

mod_parallels_xld ( Parallels, Image : ModParallels,ExtParallels : Quality, MinGray, MaxGray, MaxStandard : ) //提取包含齐次区域的平行XLD多边形
3、特征
area_center_points_xld ( XLD : : : Area, Row, Column ) //作为点云处理的轮廓和多边形的面积和重心(质心)。

area_center_xld ( XLD : : : Area, Row, Column, PointOrder ) //轮廓和多边形的面积和重心(质心)。

circularity_xld ( XLD : : : Circularity ) //等高线或多边形的圆度(与圆的相似性)的形状因子。

compactness_xld ( XLD : : : Compactness ) //轮廓或多边形紧致度的形状因子。

contour_point_num_xld ( Contour : : : Length ) //计算XLD轮廓中的点数

convexity_xld ( XLD : : : Convexity ) //轮廓或多边形的凸度的形状因子。

diameter_xld ( XLD : : : Row1, Column1, Row2, Column2, Diameter ) //两个轮廓或多边形点之间的最大距离。

dist_ellipse_contour_points_xld ( Contour : : DistanceMode,ClippingEndPoints, Row, Column, Phi, Radius1,Radius2 : Distances ) //计算所有轮廓点到椭圆的距离。

dist_ellipse_contour_xld ( Contours : : Mode, MaxNumPoints,ClippingEndPoints, Row, Column, Phi, Radius1, Radius2 : MinDist,MaxDist, AvgDist, SigmaDist ) //计算轮廓线到椭圆的距离。

dist_rectangle2_contour_points_xld (Contour : : ClippingEndPoints, Row, Column, Phi, Length1,Length2 : Distances ) //计算所有轮廓点到矩形的距离。

eccentricity_points_xld ( XLD : : : Anisometry ) //Anisometry of contours or polygons treated as point clouds.作为点云的等高线或多边形的等距。 anisometry(立体测量?)

eccentricity_xld ( XLD : : : Anisometry, Bulkiness,StructureFactor ) //轮廓或多边形的椭圆参数衍生出的形状特征。Bulkiness(蓬松度) ,StructureFacto(结构因子)

elliptic_axis_points_xld ( XLD : : : Ra, Rb, Phi ) //作为点云处理的等高线或多边形的等效椭圆参数。

elliptic_axis_xld ( XLD : : : Ra, Rb, Phi ) //等高线或多边形的等效椭圆参数。

fit_circle_contour_xld ( Contours : : Algorithm, MaxNumPoints,MaxClosureDist, ClippingEndPoints, Iterations,ClippingFactor : Row, Column, Radius, StartPhi, EndPhi,PointOrder ) //用圆近似XLD轮廓。

fit_ellipse_contour_xld ( Contours : : Algorithm, MaxNumPoints,MaxClosureDist, ClippingEndPoints, VossTabSize, Iterations,ClippingFactor : Row, Column, Phi, Radius1, Radius2, StartPhi,EndPhi, PointOrder ) //用椭圆或椭圆弧近似XLD轮廓。

fit_line_contour_xld ( Contours : : Algorithm, MaxNumPoints,ClippingE2ndPoints, Iterations, ClippingFactor : RowBegin,ColBegin, RowEnd, ColEnd, Nr, Nc, Dist ) //用线段近似XLD轮廓。

fit_rectangle2_contour_xld ( Contours : : Algorithm, MaxNumPoints,MaxClosureDist, ClippingEndPoints, Iterations,ClippingFactor : Row, Column, Phi, Length1, Length2,PointOrder ) //拟合矩形到XLD轮廓。

get_contour_angle_xld ( Contour : : AngleMode, CalcMode,Lookaround : Angles ) //为每个轮廓点计算XLD轮廓的方向。

get_contour_attrib_xld ( Contour : : Name : Attrib ) //XLD轮廓的返回点属性值。 有很多属性都可以这看到 { ’angle’, ’edge_direction’, ’width_right’, ’width_left’, ’response’, ’contrast’,’asymmetry’, ’distance}

get_contour_global_attrib_xld ( Contour : : Name : Attrib ) //返回XLD轮廓的全局属性值。 属性:{’regr_norm_row’, ’regr_norm_col’, ’regr_mean_dist’, ’regr_dev_dist’,’cont_approx’, ’bright_dark’, ’is_hole’}

get_regress_params_xld ( Contours : : : Length, Nx, Ny, Dist,Fpx, Fpy, Lpx, Lpy, Mean, Deviation ) //返回XLD轮廓参数。

height_width_ratio_xld ( XLD : : : Height, Width, Ratio ) //计算平行于等高线或多边形坐标轴的外接矩形的宽度、高度和长宽比。

info_parallels_xld ( Parallels, Image : : : QualityMin,QualityMax, GrayMin, GrayMax, StandardMin, StandardMax ) //返回有关由XLD平行线包围的区域的灰度值的信息。

length_xld ( XLD : : : Length ) //轮廓线或多边形的长度。

local_max_contours_xld ( Contours,Image : LocalMaxContours : MinPercent, MinDiff, Distance : ) //选择具有局部最大灰度值的XLD轮廓。

max_parallels_xld ( ExtParallels : MaxPolygons : : ) //连接位于同一多边形上的修改过的XLD平行线

moments_any_points_xld ( XLD : : Mode, Area, CenterRow, CenterCol,P, Q : M ) //作为点云处理的任意几何的等高线或多边形

moments_any_xld ( XLD : : Mode, PointOrder, Area, CenterRow,CenterCol, P, Q : M ) //任意的等高线或多边形的几何矩。

moments_points_xld ( XLD : : : M11, M20, M02 ) //作为点云处理的等高线或多边形的几何矩M20 M02和M11。

moments_xld ( XLD : : : M11, M20, M02 ) //等高线或多边形的几何矩M20, M02和M11。

orientation_points_xld ( XLD : : : Phi ) //作为点云处理的轮廓或多边形的方向

orientation_xld ( XLD : : : Phi ) //轮廓或多边形的方向。

query_contour_attribs_xld ( Contour : : : Attribs ) //返回定义的XLD轮廓属性的名称。

query_contour_global_attribs_xld ( Contour : : : Attribs ) //返回已定义的XLD轮廓的全局属性的名称。

select_contours_xld ( Contours : SelectedContours : Feature, Min1,Max1, Min2, Max2 : ) //根据几个特征选择XLD轮廓。 特征:{’contour_length’, ’maximum_extent’, ’direction’, ’curvature’, ’closed’, ’open’}

select_shape_xld ( XLD : SelectedXLD : Features, Operation, Min,Max : ) //选择轮廓或多边形使用形状特征。

select_xld_point ( XLDs : DestXLDs : Row, Column : ) //选择包含给定点的所有轮廓或多边形
smallest_circle_xld ( XLD : : : Row, Column, Radius ) //最小的轮廓或多边形的外圈。

smallest_rectangle1_xld ( XLD : : : Row1, Column1, Row2,Column2 ) //平行于等高线或多边形坐标轴的外接矩形。

smallest_rectangle2_xld ( XLD : : : Row, Column, Phi, Length1,Length2 ) //具有任意轮廓或多边形方向的最小外接矩形。

test_closed_xld ( XLD : : : IsClosed ) //测试轮廓或多边形是否关闭。

test_self_intersection_xld ( XLD : : CloseXLD : DoesIntersect ) //测试XLD轮廓或多边形是否自交

test_xld_point ( XLD : : Row, Column : IsInside ) //测试一个或多个轮廓或多边形是否包含给定的点。

4、几何转换
affine_trans_contour_xld (Contours : ContoursAffineTrans : HomMat2D : ) //对XLD轮廓应用任意二维仿射变换。

affine_trans_polygon_xld (Polygons : PolygonsAffineTrans : HomMat2D : ) //对XLD多边形应用任意仿射变换。

gen_parallel_contour_xld ( Contours : ParallelContours : Mode,Distance : ) //计算XLD轮廓的平行轮廓。

polar_trans_contour_xld ( Contour : PolarTransContour : Row,Column, AngleStart, AngleEnd, RadiusStart, RadiusEnd, Width,Height : ) //将环形弧中的轮廓变换为极坐标。

polar_trans_contour_xld_inv ( PolarContour : XYTransContour : Row,Column, AngleStart, AngleEnd, RadiusStart, RadiusEnd, WidthIn,HeightIn, Width, Height : ) //将极坐标中的轮廓变换回笛卡尔坐标

projective_trans_contour_xld (Contours : ContoursProjTrans : HomMat2D : ) //应用投影变换到XLD轮廓

5、设置
difference_closed_contours_xld ( Contours,Sub : ContoursDifference : : ) //计算封闭轮廓的差值。

difference_closed_polygons_xld ( Polygons,Sub : PolygonsDifference : : ) //计算封闭多边形的差。

intersection_closed_contours_xld ( Contours1,Contours2 : ContoursIntersection : : ) //相交的封闭的轮廓。

intersection_closed_polygons_xld ( Polygons1,Polygons2 : PolygonsIntersection : : ) //封闭的多边形相交。

symm_difference_closed_contours_xld ( Contours1,Contours2 : ContoursDifference : : ) //计算封闭轮廓的对称差。

symm_difference_closed_polygons_xld ( Polygons1,Polygons2 : PolygonsDifference : : ) //计算封闭多边形的对称差

union2_closed_contours_xld ( Contours1,Contours2 : ContoursUnion : : ) //计算封闭轮廓的并集。

union2_closed_polygons_xld ( Polygons1,Polygons2 : PolygonsUnion : : ) //计算封闭多边形的并集。

6、转换
add_noise_white_contour_xld (Contours : NoisyContours : NumRegrPoints, Amp : ) //给XLD轮廓添加杂音。

clip_contours_xld ( Contours : ClippedContours : Row1, Column1,Row2, Column2 : ) //剪辑一个XLD轮廓。

clip_end_points_contours_xld ( Contours : ClippedContours : Mode,Length : ) //剪辑XLD轮廓的端点

close_contours_xld ( Contours : ClosedContours : : ) //关闭XLD轮廓

combine_roads_xld ( EdgePolygons, ModParallels, ExtParallels,CenterLines : RoadSides : MaxAngleParallel, MaxAngleColinear,MaxDistanceParallel, MaxDistanceColinear : ) //从两个分辨率水平结合道路假设。

crop_contours_xld ( Contours : CroppedContours : Row1, Col1, Row2,Col2, CloseContours : ) //裁剪XLD轮廓。

merge_cont_line_scan_xld ( CurrConts, PrevConts : CurrMergedConts,PrevMergedConts : ImageHeight, Margin, MergeBorder,MaxImagesCont : ) //从连续的行扫描图像合并XLD轮廓。

regress_contours_xld ( Contours : RegressContours : Mode,Iterations : ) //计算回归线到XLD轮廓的参数。

segment_contour_attrib_xld ( Contour : ContourPart : Attribute,Operation, Min, Max : ) //对局部属性满足给定条件的XLD轮廓零件进行分割。

segment_contours_xld ( Contours : ContoursSplit : Mode, SmoothCont,MaxLineDist1, MaxLineDist2 : ) //将XLD等高线分割成线段和圆弧或椭圆弧。

shape_trans_xld ( XLD : XLDTrans : Type : ) //变换轮廓或多边形的形状

smooth_contours_xld (Contours : SmoothedContours : NumRegrPoints : ) //平滑XLD轮廓

sort_contours_xld ( Contours : SortedContours : SortMode, Order,RowOrCol : ) //根据轮廓线的相对位置对它们排序。

split_contours_xld ( Polygons : Contours : Mode, Weight,Smooth : ) //在优势点分裂XLD轮廓。

union_adjacent_contours_xld (Contours : UnionContours : MaxDistAbs, MaxDistRel, Mode : ) //计算端点靠近的等高线的并集。

union_cocircular_contours_xld (Contours : UnionContours : MaxArcAngleDiff, MaxArcOverlap,MaxTangentAngle, MaxDist, MaxRadiusDiff, MaxCenterDist,MergeSmallContours, Iterations : ) //计算属于同一圆的轮廓的并集。

union_collinear_contours_ext_xld (Contours : UnionContours : MaxDistAbs, MaxDistRel, MaxShift,MaxAngle, MaxOverlap, MaxRegrError, MaxCosts, WeightDist,WeightShift, WeightAngle, WeightLink, WeightRegr, Mode : ) //计算共线轮廓的并集(具有扩展功能的算子)。

union_collinear_contours_xld (Contours : UnionContours : MaxDistAbs, MaxDistRel, MaxShift,MaxAngle, Mode : ) //统一近似共线轮廓。

union_cotangential_contours_xld (Contours : UnionContours : FitClippingLength, FitLength,MaxTangAngle, MaxDist, MaxDistPerp, MaxOverlap, Mode : ) //计算余切线的和。

union_straight_contours_xld ( Contours : UnionContours : MaxDist,MaxDiff, Percent, Mode, Iterations : ) //计算具有相似方向的相邻直线轮廓的并集。

7、参考资料

https://blog.csdn.net/weixin_42258743/article/details/107427493
xld的特征部分和region有很多相同的部分:
1.基础特征:xld面积,中心,宽高,左上角及右下角坐标。
2.形状特征:圆度,紧密度,长度,矩形度,凸性,偏心率,蓬松度(bulkiness),外接圆半径,外接矩形的方向及两边长度等。
3.云点特征:云点面积,中心,等效椭圆半轴及角度,云点方向等。
4.几何特征:二阶矩等。

https://blog.csdn.net/weixin_43197380/article/details/109117330
通过求椭圆长半轴、短半轴的方式求xld轮廓(精度较高,推荐 )
elliptic_axis_points_xld(XLD : : : Ra, Rb, Phi)

https://blog.csdn.net/weixin_42258743/article/details/108608804
图像Image、区域Region、轮廓xld相互之间的转换

https://blog.csdn.net/libaineu2004/article/details/102816765

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 猿与汪的秘密 设计师:白松林 返回首页