[Halcon&几何] 线段中点、端点和角度的计算

简介: [Halcon&几何] 线段中点、端点和角度的计算

1. xld线段中点

area_center_points_xld (Line4, Area, Row, Column)

2. xld线段端点

*xld转region
 gen_region_contour_xld (LineContours, RegionLines, 'filled')
 *提取区域轮骨
 skeleton (RegionLines, Skeleton)
 *获取轮骨端点
 junctions_skeleton (RegionLines, EndPoints, JuncPoints)
 get_region_points (EndPoints, Rows1, Columns1)

3. xld线段角度

法一:可将xld转成区域,然后求区域的方向

gen_region_contour_xld (LineContours, RegionLines, 'filled')
 orientation_region (RegionLines, Phi)

法二:直接求xld轮廓方向

orientation_xld(XLD : : : Phi)

法三:通过求椭圆长半轴、短半轴的方式求xld轮廓(精度较高,但是方向有时会找不准

elliptic_axis_points_xld(XLD : : : Ra, Rb, Phi)

法三:通过线段两端点的反正切来求角度(方向准确,精度较高,始终以X轴正方向为起始方向,推荐

offsetX := RightDownColumn - LeftUpColumn
 offsetY := RightDownRow - LeftUpRow
 tuple_atan2 (offsetY, offsetX, angel)
 tuple_deg (angel, angelDeg)
 *线段与X轴正方向的夹角
 m_rotate := 180 - angelDeg

注:直线起始端点(Rows[0],Columns[0]),末尾端点(Rows[1],Columns[1])


戳戳小手帮忙点个免费的赞和关注吧,嘿嘿。
目录
相关文章
|
5月前
|
算法框架/工具 C++ Python
根据相机旋转矩阵求解三个轴的旋转角/欧拉角/姿态角 或 旋转矩阵与欧拉角(Euler Angles)之间的相互转换,以及python和C++代码实现
根据相机旋转矩阵求解三个轴的旋转角/欧拉角/姿态角 或 旋转矩阵与欧拉角(Euler Angles)之间的相互转换,以及python和C++代码实现
384 0
|
5月前
|
C++
C++代码来计算一个点围绕另一个点旋转45度后的坐标
C++代码来计算一个点围绕另一个点旋转45度后的坐标
107 0
|
5月前
|
算法 数据建模
平面中判断点在三角形内算法(重心法)
平面中判断点在三角形内算法(重心法)
51 0
|
5月前
|
算法
平面中判断点在三角形内算法(同向法)
平面中判断点在三角形内算法(同向法)
32 0
|
8月前
|
算法 图形学
【计算机图形学】实验四 二维图形的缩放、旋转,平移,组合变换
【计算机图形学】实验四 二维图形的缩放、旋转,平移,组合变换
360 2
|
8月前
|
计算机视觉
OpenCV(三十四):轮廓外接最大、最小矩形和多边形拟合
OpenCV(三十四):轮廓外接最大、最小矩形和多边形拟合
557 0
|
8月前
[Halcon&几何] 直线的垂线与延长线的计算
[Halcon&几何] 直线的垂线与延长线的计算
401 1
|
8月前
|
算法
[Halcon&几何] 矩形顶点和对角连线角度计算
[Halcon&几何] 矩形顶点和对角连线角度计算
151 0
|
8月前
|
机器学习/深度学习 算法 C#
C# | 凸包算法之Jarvis,寻找一组点的边界/轮廓
这篇关于凸包算法的文章,本文使用C#和Jarvis算法来实现凸包算法。 首先消除两个最基本的问题: 什么是凸包呢? 凸包是一个包围一组点的凸多边形。凸多边形是指多边形中的每个内角都小于180度的多边形。 凸包算法有什么用呢? 凸包算法的作用是找到这个凸多边形,并且使用最少的点来绘制出它的轮廓。凸包算法在计算机图形学、计算几何和机器学习等领域中有着广泛的应用。
90 0
关于已知线段,如何求封闭图形轮廓的一些猜想
关于已知线段,如何求封闭图形轮廓的一些猜想