首页 > 其他 > 详细

Halcon各个算子角度计算方式

时间:2020-02-18 15:17:58      阅读:153      评论:0      收藏:0      [点我收藏+]

一、区域(Region)

1)elliptic_axis() 计算区域的方向(-π/2<θ<=π/2)

     这个算子是通过moments_region_2nd()算子,使用图形的Geometric Moments(几何矩)来找到的区域质心和区域方向。水平方向为角度0的方向,区域的方向一般是指长轴与水平方向的夹角(注意:gen_ellipse和elliptic_axis并不是可逆操作,通过gen_ellipse得到的椭圆区域,再用elliptic_axis计算会有误差,不是特别理解)

2)orientation_region() 计算区域的方向(-π<=θ<π)

    计算方法同elliptic_axis ,当轮胎上与重心最大距离的点,横坐标在重心左边时,则计算得到的角度值+π

3) gen_rectangle2计算区域的方向(-π/2<θ<=π/2)

 二、轮廓(XLD)

  1)line_orientation()计算线的方向(-π/2<θ<=π/2)

  2)angle_ll()计算线的角度(-π<=θ<π)

  3)gen_measure_rectangle2获得测量矩,角度范围(--π<θ<=π)

  4)执行edges_sub_pix算子后,后续算子涉及到角度的为:

1
select_contours_xld():‘direction‘角度范围为0-π,会把输入的值自动转换到0-π之间,下面两个代码效果是一样的
1
2
select_contours_xld (ContoursSplit, LineContour1, ‘direction‘, 1.45+π, 1.65+π, -0.5, 0.5)
select_contours_xld (ContoursSplit, LineContour2, ‘direction‘, 1.45, 1.65, -0.5, 0.5)
1
get_contour_attrib_xld(ObjectSelected3, ‘edge_direction‘, Attrib):<br>   ‘edge_direction‘角度范围为0-2*π,边界方向的定义如下:沿着边界方向,左边为亮区域,右边为暗区域。比如:对于垂直直线,若从左到右极性为从暗到亮,则对应角度为270°,否则则为90°

  

Halcon各个算子角度计算方式

原文:https://www.cnblogs.com/wwwbdabc/p/12326125.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!