QQ登录

只需一步,快速开始

halcon length_xld函数介绍

[ 复制链接 ]
1.length_xld(XLD : : : Length)
length_xld计算轮廓或多边形XLD的长度。
长度计算为轮廓线或多边形上连续点的欧氏距离之和。
如果传递了多个轮廓或多边形,
结果将按照与XLD中相应的轮廓或多边形相同的顺序存储在元组中。


2.orientation_xld(XLD : : : Phi)
orientation_xld计算每个输入轮廓或多边形的方向。
该操作符基于elliptic_axis_xld。
此外,还计算了距重心最大距离的多边形点的轮廓线。
如果该点的列坐标小于重心的列坐标,则将圆周率pai的值加到角度上。
假设轮廓线或多边形是闭合的,如果不是这种情况,orientation_xld将人工关闭轮廓或多边形。


需要注意的是,orientation_xld只在轮廓线或多边形在平面中包围一个区域时返回有用的结果。
特别是,轮廓线或多边形本身不能相交。
这在传递未闭合轮廓或多边形时尤为重要,因为它们是自动关闭的,这会产生自交。
要测试轮廓线或多边形是否相交,
可以使用test_self_intersection_xld。
如果轮廓线或多边形与自身相交,
可以使用orientation_points_xld计算方向的有用值。


3.orientation_points_xld(XLD : : : Phi)
orientation_points_xld计算由轮廓线或多边形XLD(即,不考虑轮廓或多边形上点的顺序)。
方向Phi的计算方法与elliptic_axis_points_xld中的方法相同。
如果轮廓线或多边形是闭合的(端点=起点),
则不考虑轮廓线或多边形的端点,
以避免其接收到的权重是其他点的两倍。


此外,计算了距重心c最大距离的轮廓线点p_{m}。
如果向量pmc和给出的向量Phi之间的夹角大于pai,就把pai值加到夹角上。
如果XLD只包含两点,则Phi由从第一点到第二点的方向给出。


如果轮廓XLD与自身相交,或者如果没有自交,
不可能使用从端点到起点的直线来关闭轮廓,
则应该使用orientation_points_xld。


因为在这种情况下,在使用另一函数orientation_xld时,
不会产生有用的结果。
要测试轮廓线或多边形是否相交,可以使用test_self_intersection_xld。


4.eccentricity_xld(XLD : : : Anisometry, Bulkiness, StructureFactor)
eccentricity_xld计算出每个输入轮廓或多边形的几何矩所产生的三种形状特征:
Anisometry, Bulkiness和StructureFactor。
如果输入的轮廓或多边形没有闭合,它将自动闭合。


若给定轮廓或多边形的椭圆半径Ra、Rb (elliptic_axis_xld)和封闭区域A结出的话,
则有:
2019-05-23_110423.jpg


圆的anisometry是1.0。

需要注意的是,偏心量仅在轮廓线或多边形在平面上包围一个区域时才返回有用的结果。

特别是,轮廓线或多边形本身不能相交。
这在传递开放轮廓或多边形时尤为重要,因为它们是自动关闭的,
这会产生自交。要测试轮廓线或多边形是否相交,
可以使用test_self_intersection_xld。
如果轮廓线或多边形与自身相交,
就可以用 eccentricity_points_xld计算出有用的anisometry。


5.eccentricity_points_xld(XLD : : : Anisometry)
eccentricity_points_xld计算轮廓或多边形XLD(即,不考虑轮廓或多边形上点的顺序)。
如果轮廓线或多边形是闭合的(端点=起点),
则不考虑等高线或多边形的端点,
以避免其接收到的权重是其他点的两倍。


如果给定椭圆半径Ra, Rb (elliptic_axis_points_xld),则有:
Anisometry = Ra/Rb
圆的anisometry为1.0
如果轮廓线XLD与自身相交,
或者在没有自交的情况下,无法使用从端点到起点的直线闭合轮廓,
则应使用eccentricity_points_xld。
因为在这种情况下 ,另一个函数eccentricity_xld不会产生有用的结果。
要测试轮廓线或多边形是否相交,可以使用test_self_intersection_xld。


例程:
read_image (Image, 'printer_chip/printer_chip_01')
threshold (Image, Region, 128, 255)
connection (Region, ConnectedRegions)
select_shape_std (ConnectedRegions, SelectedRegions, 'max_area', 70)
gen_contour_region_xld (SelectedRegions, Contours, 'border')
*
length_xld (Contours, Length)
orientation_xld (Contours, Phi)
orientation_points_xld (Contours, Phi1)

eccentricity_xld (Contours, Anisometry, Bulkiness, StructureFactor)
eccentricity_points_xld (Contours, Anisometry1)


  

halcon从自学到接项目视频教程,另外再赠送全网最全资源  

  

欢迎围观我录制的一套halcon自学视频教程(进入)






回复

使用道具 举报

快速回复 返回列表 客服中心 搜索