码迷,mamicode.com
首页 > 其他好文 > 详细

Halcon各个算子角度计算方式汇总

时间:2019-12-19 23:04:09      阅读:344      评论:0      收藏:0      [点我收藏+]

标签:执行   reg   方式   pix   moment   输入   cte   on()   操作   

一、区域(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算子后,后续算子涉及到角度的为:

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

  

 

Halcon各个算子角度计算方式汇总

标签:执行   reg   方式   pix   moment   输入   cte   on()   操作   

原文地址:https://www.cnblogs.com/baiyy-daheng/p/11406939.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!